C#
- Acessando e atualizando dados (MS Access/Ado.net)
![]() |
Neste artigo vou apresentar um pequeno programa feito na linguagem C# que permite gerenciar informações básicas em um banco de dados Microsoft Access. |
![]() |
Vou apresentar uma aplicação Windows Forms feita na linguagem C# que acessa um banco de dados MS Access e permite realizar a manutenção de dados diretamente na interface usando ADO .NET.
Temos um banco de dados chamado log.mdb na raiz do projeto com a seguinte estrutura:
Recursos Usados
Criando o projeto Windows Forms
Vamos criar um projeto bem simples do tipo Windows Forms chamado AtualizaDB usando a linguagem C#.
No formulário Form1.cs inclua os seguintes controles a partir da ToolBox:
A seguir disponha os controles conforme mostra a figura abaixo:
Namespaces usados no projeto:
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
Variáveis
globais declaradas no formulário:
private DataTable dataTable1 = new
DataTable();
private OleDbConnection oleDbConnection1 = new OleDbConnection();
private OleDbDataAdapter oleDbDataAdapter1 = new OleDbDataAdapter();
1- Código do construtor do formulário: Form1()
Form1()
{
InitializeComponent();
//define o provedor e a string de conexão com o banco de dados
//preenche o datatable usando um adapter
this.oleDbConnection1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = |DataDirectory|\\log.mdb; Persist Security Info = True";
this.oleDbDataAdapter1.SelectCommand = new OleDbCommand("SELECT ID, Field1, Field2 FROM Table1", this.oleDbConnection1);
this.oleDbDataAdapter1.Fill(this.dataTable1);
this.dgvDados.DataSource = dataTable1;
//Inicializa o comando UPDATE
this.oleDbDataAdapter1.UpdateCommand = new OleDbCommand("UPDATE Table1 SET Field1 = @field1, Field2 = @field2 WHERE ID = @id", this.oleDbConnection1);
this.oleDbDataAdapter1.UpdateCommand.Parameters.AddWithValue("@field1", typeof(string)).SourceColumn = "Field1";
this.oleDbDataAdapter1.UpdateCommand.Parameters.AddWithValue("@field2", typeof(string)).SourceColumn = "Field2";
this.oleDbDataAdapter1.UpdateCommand.Parameters.AddWithValue("@id", typeof(int)).SourceColumn = "ID";
//Inicializa o comando INSERT
this.oleDbDataAdapter1.InsertCommand = new OleDbCommand("INSERT INTO Table1 (Field1, Field2) VALUES (@field1, @field2)", this.oleDbConnection1);
this.oleDbDataAdapter1.InsertCommand.Parameters.AddWithValue("@field1", typeof(string)).SourceColumn = "Field1";
this.oleDbDataAdapter1.InsertCommand.Parameters.AddWithValue("@field2", typeof(string)).SourceColumn = "Field2";
//Inicializa o comando DELETE .
this.oleDbDataAdapter1.DeleteCommand = new OleDbCommand("DELETE FROM Table1 WHERE ID = @id", this.oleDbConnection1);
this.oleDbDataAdapter1.DeleteCommand.Parameters.AddWithValue("@id", typeof(int)).SourceColumn = "ID";
//define o texto das colunas
this.dgvDados.Columns["ID"].Visible = false;
this.dgvDados.Columns["Field1"].HeaderText = "Nome";
this.dgvDados.Columns["Field2"].HeaderText = "Sobrenome";
}
|
2- Evento Click do link da primeira imagem
private void btnAtualiza_Click(object sender, EventArgs e) { //Se você chamar o método abaixo, todas as alterações no banco de dados são salvas this.oleDbDataAdapter1.Update(dataTable1); } |
Executando o projeto teremos o seguinte resultado:
Pegue o
projeto completo aqui :
AtualizaMDB.zip
Todavia
digo-vos a verdade, que vos convém que eu vá; porque, se eu não for, o
Consolador não virá a vós; mas, quando eu for, vo-lo enviarei.
E, quando ele vier, convencerá o mundo do pecado, e da justiça e do juízo.
Do pecado, porque não crêem em mim;
Da justiça, porque vou para meu Pai, e não me vereis mais;
João 16:7-10
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 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a
Objetos com VB .NET
C# - Exibindo imagens com PictureBox e usando o ... - Macoratti.net