Você está aqui: C# ::: Windows Forms ::: DataGridView |
Como ligar um DataGridView do C# Windows Forms à tabela de um banco de dados e efetuar inserção, alteração e remoção de registrosQuantidade de visualizações: 33081 vezes |
|
Uma das principais dúvidas que recebo em meu site é em relação aos passos necessários para associar um DataGridView com a tabela de um banco de dados e listar os dados. Em tempo de design este processo é relativamente fácil, visto que temos wizards que nos acompanham e fazem o trabalho mais pesado nos bastidores. No entanto, o cenário é completamente diferente quando temos que realizar tal tarefa via código. Espero que esta dica o deixe mais preparado para enfrentar tais situações. Para esta dica eu fiz uma conexão Visual C# 2005 + MySQL 5.0 usando ODBC (caso tenha dúvidas sobre isso, veja minha seção sobre C# + MySQL). Criei uma tabela MySQL chamada clientes contendo id, nome, idade, cidade e estado do cliente. Criei uma classe de conexão, inseri um DataGridView no formulário e coloquei as declarações abaixo na classe do formulário Form1.cs (fora dos métodos, para que os dados sejam globais na classe): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // membros de instância de acesso global na classe // Dica: Se estiver usando SQL Server, troque "Odbc" por // "Sql" (Ex: SQLConnection, SqlCommand, SqlDataAdapter) // conexão com o banco de dados OdbcConnection conn = null; OdbcCommand cmd = null; OdbcDataAdapter adapter = null; DataSet ds = null; Em seguida colocamos o código abaixo no evento Click de um botão: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
private void button4_Click(object sender, EventArgs e){
// Dica: Se estiver usando SQL Server, troque "Odbc"
// por "Sql" (Ex: SqlCommand, SqlDataAdapter, etc)
// obtém a conexão com o banco de dados
conn = ConexaoODBC.obterConexao();
if(conn != null){
// obtém todos os clientes cadastrados
cmd = new OdbcCommand("SELECT * FROM clientes",
conn);
adapter = new OdbcDataAdapter(cmd);
ds = new DataSet();
adapter.Fill(ds, "clientes_table");
// exibe os dados da tabela no DataGridView
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "clientes_table";
// fecha a conexão
ConexaoODBC.fecharConexao();
}
}
Aqui os dados já são listados no DataGridView. Porém, as alterações efetuadas no controle ainda não são repassadas para o banco de dados. Veja o código adicional no evento Click de outro botão: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
private void button5_Click(object sender, EventArgs e){
// vamos salvar os dados do DataGridView para a tabela do
// banco de dados
// Dica: Se estiver usando SQL Server, troque "Odbc" por
// "Sql" (Ex: SqlCommandBuilder)
// obtém a conexão com o banco de dados
conn = ConexaoODBC.obterConexao();
if(conn != null){
OdbcCommandBuilder cmb = new OdbcCommandBuilder(adapter);
cmb.GetUpdateCommand();
adapter.Update(ds.Tables["clientes_table"]);
// fecha a conexão
ConexaoODBC.fecharConexao();
}
}
Pronto! Execute a aplicação, clique no primeiro botão para carregar os dados da tabela MySQL no DataGridView. Em seguida efetue algumas alterações, insira ou exclua linhas e clique no segundo botão. Feche a aplicação e abra-a novamente e se certifique de que os registros foram atualizados, inseridos ou removidos com sucesso. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





