@CanalQb no YouTube
Acessando Banco de Dados MDB com C#
Curta minha página para receber novidades sobre desenvolvimento e programação!
Pré-requisitos
Este tutorial requer o .NET Framework instalado. Recomendo:
- Visual Studio 2022 (Community Edition)
- Microsoft Access ou arquivo .MDB de teste
- Pacote NuGet:
System.Data.OleDb
Passo a Passo: Conexão com Access usando OleDb
Vamos explorar um exemplo prático de como conectar C# a um banco Access (.MDB):
using System;
using System.Data.OleDb;
class DatabaseExample
{
public static void Main()
{
// String de conexão (ajuste o caminho do arquivo!)
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dados\clientes.mdb";
using (OleDbConnection conexao = new OleDbConnection(connectionString))
{
OleDbCommand comando = new OleDbCommand("SELECT * FROM Clientes", conexao);
try
{
conexao.Open();
OleDbDataReader leitor = comando.ExecuteReader();
Console.WriteLine("Clientes cadastrados:");
while (leitor.Read())
{
Console.WriteLine($"ID: {leitor["id"]} | Nome: {leitor["nome"]}");
}
}
catch (OleDbException ex)
{
Console.WriteLine($"Erro de banco de dados: {ex.Message}");
}
}
}
}
Explicação do Código
- Conexão: Usamos
OleDbConnection
com string de conexão específica para Access. - Comando SQL:
OleDbCommand
executa a query SELECT na tabela "Clientes". - Leitura de dados: O
DataReader
percorre os registros retornados. - Tratamento de erros: Bloco
catch
captura exceções do banco.
Solução de Problemas Comuns
- Erro "Provider not found": Instale o Access Database Engine.
- Arquivo .MDB bloqueado: Verifique se o Access não está aberto durante a execução.
- Permissões: Garanta que a aplicação tem acesso ao diretório do banco.
⚠️ Importante
Este método é ideal para sistemas legados. Para novos projetos, considere bancos modernos como SQLite ou SQL Server Express.
Alternativas Recomendadas
Banco de Dados | Pacote NuGet | Uso Indicado |
---|---|---|
SQLite | System.Data.SQLite |
Aplicações desktop simples |
SQL Server Express | System.Data.SqlClient |
Sistemas com maior complexidade |
Dicas de Performance
- Use
using
para garantir que recursos sejam liberados automaticamente. - Para operações de escrita, utilize transações.
- Evite
SELECT *
– liste apenas as colunas necessárias.
Pratique modificando o código para INSERT/UPDATE e compartilhe suas dúvidas nos comentários!