Jump to content

DataGridView e base de dados


TutoDS

Recommended Posts

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

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

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

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

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

Link to comment
Share on other sites

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

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

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.