TutoDS Posted May 7, 2017 at 08:49 AM Report Share #604022 Posted May 7, 2017 at 08:49 AM Bom dia malta. Desde já agradeço a quem me poder vir a ajudar. O meu problema é o seguinte, estou a tirar um CTESP de Informática de Gestão, e temos a cadeira Linguagens de Programação onde estou a ter C#, só que agora temos que fazer um trabalho, e o meu tema é fazer um programa tipo para um video club, o que eu queria fazer (o prof ainda nao explicou nada sobre isto) era fazer uma base de dados com filmes e clientes, e na parte do programa dedicada aos clientes eu queria colocar a datagridview a apresentar os clientes que eu fosse acrescentando. Ou seja tipo isto: thttp://prnt.sc/f5207b Eu já comecei a criar, mas agora o problema está no código. será que alguém me poderia ajudar? Ao mesmo tempo queria também aprender. Obrigado a todso. Link to comment Share on other sites More sharing options...
AJBM Posted May 7, 2017 at 10:13 AM Report Share #604024 Posted May 7, 2017 at 10:13 AM Boas, O que é que já fizeste? Qual é a tua dúvida? Link to comment Share on other sites More sharing options...
TutoDS Posted May 7, 2017 at 01:52 PM Author Report Share #604025 Posted May 7, 2017 at 01:52 PM Boas. Eu fiz o datagridview. Agora queria saber como faço a parte da base de dados e ligo depois a esse gridview. Se alguém me poder ajudar a orientar no primeiro depois já faço para os outros Link to comment Share on other sites More sharing options...
TutoDS Posted May 7, 2017 at 07:01 PM Author Report Share #604026 Posted May 7, 2017 at 07:01 PM Já consegui criar uma tabela na base de dados. Agora queria saber, como faço para colocar tipo: Form Clientes a ter os botões adicionar (preenches os campos e ele adiciona uma nova linha na base de dados), boato editar (selecionar uma linha no gridview e alterar os dados nas caixas de texto e depois ao carregar no botão editar ele grava), eliminar (selecionar uma linha e ele elimina) e depois queria (se for possível) uma caixa de texto que servisse de pesquisa. Já agora é possível fazer com que o número de cliente comece por C, e que depois crie automaticamente para cada cliente que adicione, exemplo: C0001, C0002,... Desculpem lá, mas ainda estou a aprender e como ainda não falamos sobre isto eu queria tentar aprender sozinho. Obrigado a todos que me possam ajudar! http://prnt.sc/f57mmm Link to comment Share on other sites More sharing options...
AJBM Posted May 7, 2017 at 07:41 PM Report Share #604027 Posted May 7, 2017 at 07:41 PM O teu professor deixa te usar EntityFramework? Link to comment Share on other sites More sharing options...
TutoDS Posted May 7, 2017 at 07:42 PM Author Report Share #604028 Posted May 7, 2017 at 07:42 PM Não sei, sei que para a base de dados iamos usar o visual studio ou seja sql server. Porque? Link to comment Share on other sites More sharing options...
AJBM Posted May 7, 2017 at 08:31 PM Report Share #604029 Posted May 7, 2017 at 08:31 PM EF torna o acesso à base dados mais simples. Por isso se puderes usa. Caso contrário dá uma vista de olhos nisto https://www.dotnetperls.com/sqlconnection Link to comment Share on other sites More sharing options...
TutoDS Posted May 7, 2017 at 09:36 PM Author Report Share #604030 Posted May 7, 2017 at 09:36 PM OK. Vou ver Se não conseguir amanhã podes dar me uma ajuda sf? Link to comment Share on other sites More sharing options...
TutoDS Posted May 10, 2017 at 01:55 PM Author Report Share #604120 Posted May 10, 2017 at 01:55 PM Boas. Ainda não consegui, mas vou dar mais umas lidas. Uma questão, como faço para fazer que ao clicar num botão abra outro form mas na mesma janela e não que abra outra (abrir outra janela eu sei como é) Obrigado Link to comment Share on other sites More sharing options...
AJBM Posted May 10, 2017 at 06:09 PM Report Share #604129 Posted May 10, 2017 at 06:09 PM Boas, Podes usar o TabControl. Link to comment Share on other sites More sharing options...
TutoDS Posted May 10, 2017 at 06:13 PM Author Report Share #604130 Posted May 10, 2017 at 06:13 PM 3 minutos atrás, AJBM disse: Boas, Podes usar o TabControl. Não é possível fazer que o o form abra na mesma janela? Obrigado Link to comment Share on other sites More sharing options...
AJBM Posted May 10, 2017 at 06:59 PM Report Share #604132 Posted May 10, 2017 at 06:59 PM Citação Não é possível fazer que o o form abra na mesma janela? Não é possível teres Forms dentro de um Form. Mas podes usar UserControl, para fazer o que queres. Vê isto https://www.codeproject.com/Articles/11071/Working-With-Paneled-Forms-Paneled-User-Controls-i Link to comment Share on other sites More sharing options...
TutoDS Posted May 12, 2017 at 07:39 AM Author Report Share #604164 Posted May 12, 2017 at 07:39 AM (edited) Boas de novo. Andei a ver uns tutoriais, criei o dataset etc, e vi que mandam colocar este código: SqlConnection Con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C:\Users\TutoDS\Desktop\TrabalhoVideoClub\VideoClub\VideoClub\Base de Dados\dbVideoClub.mdf";Integrated Security=True;Connect Timeout=30"); Ou seja a conexão com o meu dataset, mas dá-me erro não entendo porque. Outra coisa, como faço para que o id de clientes na base de dados seja automático (tipo 1, 2,3,4,5...)? Obrigado Edited May 12, 2017 at 07:40 AM by TutoDS Link to comment Share on other sites More sharing options...
AJBM Posted May 12, 2017 at 06:15 PM Report Share #604204 Posted May 12, 2017 at 06:15 PM Boas, Citação SqlConnection Con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C:\Users\TutoDS\Desktop\TrabalhoVideoClub\VideoClub\VideoClub\Base de Dados\dbVideoClub.mdf";Integrated Security=True;Connect Timeout=30"); Ou seja a conexão com o meu dataset, mas dá-me erro não entendo porque. Qual é o erro? Citação Outra coisa, como faço para que o id de clientes na base de dados seja automático (tipo 1, 2,3,4,5...)? Em sql usas CREATE TABLE Persons ( ID int IDENTITY(1,1) PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int ); Neste caso o ID começa em 1. E o "salto" é o 1. Via interface Imagem. Link to comment Share on other sites More sharing options...
TutoDS Posted May 12, 2017 at 06:24 PM Author Report Share #604205 Posted May 12, 2017 at 06:24 PM Vou colocar aqui imagens do código e da tabela de base de dados que criei. http://prntscr.com/f73x07 Imagem do botão de adicionar novo cliente http://prnt.sc/f73xca Base de dados: tabela cliente http://prnt.sc/f73xss Link to comment Share on other sites More sharing options...
AJBM Posted May 12, 2017 at 06:52 PM Report Share #604209 Posted May 12, 2017 at 06:52 PM Em vez de colocares imagens, no forum podes, colocar o código, torna-se mais simples. Convém organizares melhor o código, estas a misturar conceitos de acesso da dados com a apresentação. A tua SqlConnection está a dar erro por causa das " no AttachDbFilename. Substitui essas por ' . SqlConnection Con = new SqlConnection(@"Data Source(LocalDB)\MSSQLLocalDB;AttachDbFilename='C:\Users\TutoDS\Desktop\TrabalhoVideoClub\VideoClub\VideoClub\Base de Dados\dbVideoClub.mdf';Integrated Security=True;Connect Timeout=30"); No button de criar o cliente tua instrução de sql está errada. E não deves enviar os valores diretamente das caixas de texto. Vê isto Link to comment Share on other sites More sharing options...
TutoDS Posted May 12, 2017 at 08:07 PM Author Report Share #604220 Posted May 12, 2017 at 08:07 PM SqlConnection sqlConn = new SqlConnection(connection string here); SqlCommand sqlComm = new SqlCommand(); sqlComm = sqlConn.CreateCommand(); sqlComm.CommandText = @"INSERT INTO tableName (paramColum) VALUES (@paramName)"; sqlComm.Parameters.Add("@paramName", SqlDbType.VarChar); sqlComm.Parameters["@paramName"].Value = paramSource; sqlConn.Open(); sqlComm.ExecuteNonQuery(); sqlConn.Close(); No botão adicionar, altero o "tableName" para Cliente certo? e no paramName adiciono a caixa de texto? Se me poderes ajudar por teamviewer ou assim agradecia, não precisa de ser hoje nem durante o fim de semana Obrigado Link to comment Share on other sites More sharing options...
AJBM Posted May 12, 2017 at 08:27 PM Report Share #604221 Posted May 12, 2017 at 08:27 PM Citação No botão adicionar, altero o "tableName" para Cliente certo? Sim. Citação e no paramName adiciono a caixa de texto? Sim. Se tiveres dúvidas podes colocar aqui no forum. Dessa forma tens mais pessoas ajudar-te. Link to comment Share on other sites More sharing options...
TutoDS Posted May 13, 2017 at 06:03 AM Author Report Share #604225 Posted May 13, 2017 at 06:03 AM Boas. Segui este link e fiz tudo como diz aí mas o programa da erro na parte: private void DisplayData() { con.Open(); DataTable dt = new DataTable(); adapt = new SqlDataAdapter("SELECT * FROM Clientes", con); adapt.Fill(dt); dgvClientes.DataSource = dt; con.Close(); } Se eu colocar /**/ para desativar o código a janela nem abre. O que pode ser? Outra coisa, como nunca vou trabalhar no mesmo PC criei uma pasta dentro do debug (Ficheiros/Base de Dados) para poder copiar a pasta e usar noutro pc, porém na Connection Strig dá-me isto: string cs = "Data Source=(LocalDB)/MSSQLLocalDB;AttachDbFilename='C:/Users/TutoDS/Desktop/Trabalho Programação - VideoClub/VideoClub/VideoClub\bdVideoClub.mdf';Integrated Security=True;Connect Timeout=30"; SqlConnection con; SqlCommand cmd; SqlDataAdapter adapt; DataTable dt; Resumindo dá me outra pasta dentro da pasta que criei para o trabalho. Fiquei todo baralhado. O resto do código foi do primeiro link e depois tentei acrescentar a parte do pesquisar, mas pelos vistos não vou conseguir colocar isto a funcionar Link to comment Share on other sites More sharing options...
TutoDS Posted May 13, 2017 at 08:20 AM Author Report Share #604228 Posted May 13, 2017 at 08:20 AM Boas novamente. de uma forma mais simples já consegui colocar o botão adicionar a funcionar. Como faço é para quando eliminar uma linha da tabela o nº de cliente actualize, por exemplo eliminio a linha em que fico o nº1 ao fazer uma nova linha o nº de cliente fica em 2 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now