Jump to content
TutoDS

DataGridView e base de dados

Recommended Posts

TutoDS

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.

Share this post


Link to post
Share on other sites
TutoDS

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

Share this post


Link to post
Share on other sites
TutoDS

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

 

Share this post


Link to post
Share on other sites
TutoDS

Não sei, sei que para a base de dados iamos usar o visual studio ou seja sql server.

Porque?

Share this post


Link to post
Share on other sites
TutoDS

OK. Vou ver

Se não conseguir amanhã podes dar me uma ajuda sf?

 

Share this post


Link to post
Share on other sites
TutoDS

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

Share this post


Link to post
Share on other sites
TutoDS
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

Share this post


Link to post
Share on other sites
TutoDS

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 by TutoDS

Share this post


Link to post
Share on other sites
AJBM

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.

 

Share this post


Link to post
Share on other sites
AJBM

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.

isto

Share this post


Link to post
Share on other sites
TutoDS
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

 

Share this post


Link to post
Share on other sites
AJBM
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.
 

Share this post


Link to post
Share on other sites
TutoDS

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

Share this post


Link to post
Share on other sites
TutoDS

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.