- Operações básica de acesso a dados  - 


Como realizar as operações básicas de acesso e manutenção de dados com C# ? 

Tarefas como inserir, atualizar e excluir dados usando a ADO.NET e C# são mais simples do que você pode pensar. 

Se você não conhece nada de ADO .NET acompanhe o meu curso para iniciantes na linguagem c# :

Quer pagar para ver ??

Abaixo um resumo básico destas operações com C# , grátis...

As operações serão feitas na tabela Clientes do banco de dados Access Teste.mdb presente na pasta c:\dados. A seguir o código relacionado a cada operação:

A estrutura da tabela  Clientes e a seguinte :

Crie um projeto do tipo Windows Forms Application usando o VS 2010  ou o VS 2013 ou o VS 2015 Community.

Inclua um controle DataGridView com o nome dgvDados e 3 controles Button : btnInserir, btnAtualizar e btnExcluir :

Para tornar o código mais simples eu não realizei o tratamento de erros usando o bloco try/catch. Faça isso como um exercício.

Você vai precisar usar os seguintes namespaces:

using System;
using
System.Data;
using
System.Data.OleDb;
using
System.Windows.Forms;

1- Selecionar dados em uma base de dados Access

Inclua a chamada ao método ExibirDados no evento Load do formulário form1.cs:

       private void ExibirDados()
        {
            // definir a string de conexão
            string sDBstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dados\Teste.mdb";
            //definir a string SQL
            string sSQL = "SELECT * from Clientes";
            //criar o objeto connection
            OleDbConnection oCn = new OleDbConnection(sDBstr);
            //abrir a conexão
            oCn.Open();
            //criar o data adapter e executar a consulta 
            OleDbDataAdapter oDA = new OleDbDataAdapter(sSQL, oCn);
            //criar o DataSet
            DataSet oDs = new DataSet();
            //Preencher o dataset coom o data adapter
            oDA.Fill(oDs, "Clientes");
            //exibe os dados no datagridview
            //exibe o resultado
            dgvDados.DataSource = oDs.Tables[0];
               // liberar o data adapter , o dataset e a conexao
            oDA.Dispose();
            oDs.Dispose();
            oCn.Dispose();
     }

2- Inserir dados em uma base de dados Access.

Inclua este código no evento Click do botão - Inserir Dados

// definir a string de conexão
string sDBstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dados\Teste.mdb";

//definir a string SQL
string sSQL = "SELECT * from Clientes";

//criar o objeto connection
OleDbConnection oCn = new OleDbConnection(sDBstr);

//abrir a conexão
oCn.Open();

//criar o data adapter e executar a consulta
OleDbDataAdapter oDA = new OleDbDataAdapter(sSQL,oCn);

//criar o DataSet
DataSet oDs = new DataSet();

//Preencher o dataset coom o data adapter
oDA.Fill(oDs,"Clientes");

//criar um objeto Data Row
DataRow oDR = oDs.Tables["Clientes"].NewRow();

//Preencher o datarow com valores
oDR["Nome"] = "Testolino";
oDR["Email"] = "teste@teste.com.br";

//Incluir um datarow ao dataset
oDs.Tables["Clientes"].Rows.Add(oDR);

//Usar o objeto Command Bulder para gerar o Comandop Insert
OleDbCommandBuilder oCB = new OleDbCommandBuilder(oDA);

//Atualizar o BD com valores do Dataset
oDA.Update(oDs,"Clientes");

//liberar o data adapter , o dataset , o comandbuilder e a conexao
oDA.Dispose(); oDs.Dispose(); oCB.Dispose(); oCn.Dispose();

 //exibir o resultado
ExibirDados();

3- Atualizar dados em uma base de dados Access.

Inclua este código no evento Click do botão - Atualizar Dados

// definir a string de conexão
string sDBstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dados\Teste.mdb";

//definir a string SQL
string sSQL = "SELECT * from Clientes";

//criar o objeto connection
OleDbConnection oCn = new OleDbConnection(sDBstr);

//abrir a conexão
oCn.Open();

//criar o data adapter e executar a consulta
OleDbDataAdapter oDA = new OleDbDataAdapter(sSQL,oCn);

//criar o DataSet
DataSet oDs = new DataSet();

//Preencher o dataset coom o data adapter
oDA.Fill(oDs,"Clientes");

//cria o DataSet atribuindo ao DataRow o valor da linha que desejamos atualizar
DataRow oDR = oDs.Tables["Clientes"] .Rows[5];

//Preenche o datarow with valores
oDR["Nome"] = "Maria"
oDR["Email"] = "maria@net.com.br"

//Usar o objeto Command Bulder para gerar o Comando Update
OleDbCommandBuilder oCB = new OleDbCommandBuilder(oDA);

//Atualizar o BD com valores do Dataset
oDA.Update(oDs,"Clientes");

//liberar o data adapter , o dataset , o comandbuilder e a conexao
oDA.Dispose();

oDs.Dispose();

oCB.Dispose();

oCn.Dispose();

 

 //exibir o resultado
ExibirDados();

4- Excluir dados de uma base de dados Access.

Inclua este código no evento Click do botão - Excluir Dados

// definir a string de conexão
string sDBstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dados\Teste.mdb";

//definir a string SQL
string sSQL = "SELECT * from Clientes";

//criar o objeto connection
OleDbConnection oCn = new OleDbConnection(sDBstr);

//abrir a conexão
oCn.Open();

//criar o data adapter e executar a consulta
OleDbDataAdapter oDA = new OleDbDataAdapter(sSQL,oCn);

//criar o DataSet
DataSet oDs = new DataSet();

//Preencher o dataset coom o data adapter
oDA.Fill(oDs,"Clientes");

//Exclui a linha desejada
oDs.Tables["Clientes"]
.Rows[5].Delete();

/Usar o objeto Command Bulder para gerar o Comandop Delete
OleDbCommandBuilder oCB = new OleDbCommandBuilder(oDA);

//Atualizar o BD com valores do Dataset
oDA.Update(oDs,"Clientes");

//liberar o data adapter , o dataset , o comandbuilder e a conexao
oDA.Dispose();

oDs.Dispose();

oCB.Dispose();

oCn.Dispose();
 

 //exibir o resultado
ExibirDados();

 

O código pode ser otimizado declarando as variáveis objetos no inicio do formulário e reutilizando-as no código do formulário. Faça isso como um exercício.

 

Até a próxima dica C#.

 

Pegue o projeto completo aqui:  AcessoBD_Dicas.zip e o banco de dados : Teste.zip
 

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti