C#
- Conexão com os principais SGBD atuais via ADO .NET
Neste artigo eu vou mostrar (novamente) como você pode efetuar a conexão (apenas a conexão) com os principais Sistemas de gerenciadores de banco de dados (SGBD) atuais via ADO .NET usando a linguagem C#.
Por que eu estou voltando mais uma vez a esse
assunto ? ![]()
É que constantemente recebo consultas e também vejo essa pergunta nos Fóruns, então resolvi de forma direta, simples e objetiva mostrar como fazer isso usando a linguagem C#.
Para começar eu vou indicar um link onde você vai encontrar as strings de conexão para os principais banco de dados : http://www.connectionstrings.com/
Creio que isso já bastasse para que o problema fosse resolvido mas eu vou pegar os principais banco de dados usados e mostrar como fazer a conexão, selecionar as informações e exibi-las em um controle DataGridView.
Para todos os exemplos mostrados aqui eu usei o SharpDevelop 3.2 (O Visual C# 2008 Express dará o mesmo resultado) onde criei um projeto do tipo Windows Forms e coloquei no formulário padrão um controle tabControl, um controle DataGridView (gdvDados) para e um controle Button(btnCarregaDadosNomeBancoDados) para cada banco de dados a ser testado;
Em todos os exemplos eu estou colocando o código para acessar o banco de dados no evento Click do botão Carregar Dados;(recomendo que você crie uma camada de acesso a dados)
Em todos os exemplos eu estarei usando o namespace System.Data;
De forma geral eu estou sempre definindo uma string de conexão, uma instrução SQL e criando um objeto Command e/ou DataAdapter para ambos e em seguida preenchendo o objeto DataTable para exibir os dados no Grid.
Alerto para o fato de que estarei mostrando uma das possíveis formas de se conectar com o banco de dados usando ADO .NET, não é a melhor nem a pior é uma das formas de fazer a conexão:
1-
Acessando o Microsoft Access
Provedor usado : Microsoft Jet OLE DB 4.0
namespace utilizado : System.Data.Oledb
Banco de dados : Northwind.mdb local: c:\dados
tabela: Products
void BtnCarregarDadosAccessClick(object sender, EventArgs e)
{
try{
//cria um DataTabale
DataTable dt = new DataTable();
//define a string de conexão com o MSAccess
string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dados\Northwind.mdb;";
//Abre a conexão
OleDbConnection conn = new OleDbConnection(strConn);
//cria um DataAdapter selecionando os dados de um tabela do MSAccess
OleDbDataAdapter da = new OleDbDataAdapter("Select * from Products", conn);
//preenche o DataTable
da.Fill(dt);
//exibe os dados no DataGridView
gdvDados.DataSource = dt.DefaultView;
}
catch (Exception ex)
{
MessageBox.Show("Erro : " + ex.Message);
}
}
|
![]() |
2-
Acessando o MySQL
Provedor usado : MySQL
Connector
namespace utilizado : MySql.Data.MySqlClient;
Banco de dados : Cadastro
tabela: Estoque
Obs: Incluir a referência ao provedor MySQL.Data

void CarregarDadosMySQLClick(object sender, EventArgs e)
{
MySqlConnection conn = null;
try
{
string strConn = @"Server=localhost;Database=Cadastro;Uid=root;Pwd='numsey';Connect Timeout=30;";
//Abre a conexão
conn = new MySqlConnection(strConn);
conn.Open();
string mSQL = "Select * from Estoque";
//definindo o comando para a conexão a instrução SQL
MySqlCommand cmd = new MySqlCommand(mSQL,conn);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
//preenchendo o objeto DataTable a partir do DataAdapter
DataTable dt = new DataTable();
da.Fill(dt);
this.gdvDadosMySQL.DataSource = dt;
}
catch (MySqlException msqle)
{
MessageBox.Show("Erro de acesso ao MySQL : " + msqle.Message,"Erro");
}
finally
{
conn.Close();
}
}
|
![]() |
3-
Acessando o SQL Server
Provedor usado :
SQL Server .NET Data Provider
namespace utilizado : System.Data.SqlClient
Banco de dados : Northwind.mdf
tabela: Products
void BtnCarregarDadosSQLServerClick(object sender, EventArgs e)
{
try{
//cria um DataTabale
DataTable dt = new DataTable();
//define a string de conexão com o SQL Server
string strConn = @"Server = .\sqlexpress;Database = NorthWind; Integrated Security = SSPI;";
//Abre a conexão
SqlConnection conn = new SqlConnection(strConn);
//cria um DataAdapter selecionando os dados de um tabela do SQL Server
SqlDataAdapter da = new SqlDataAdapter("Select * from Customers", conn);
//preenche o DataTable
da.Fill(dt);
//exibe os dados no DataGridView
gdvDadosSQLServer.DataSource = dt.DefaultView;
}
catch (Exception ex)
{
MessageBox.Show("Erro : " + ex.Message);
}
}
|
![]() |
4-
Acessando o Firebird
Provedor usado : FireBirdClient
namespace utilizado : FirebirdSql.Data.FirebirdClient;
Banco de dados : EMPLOYEE.FDB local: c:\dados
tabela: EMPLOYEE
Obs: Incluir a referência ao provedor FireBirdSQLData.FireBirdClient
![]() |
void BtnCarregarDadosFireBirdClick(object sender, EventArgs e)
{
string strConn = @"DataSource=localhost; Database=C:\dados\EMPLOYEE.FDB; UserId=SYSDBA; Pwd=masterkey";
FbConnection fbConn = new FbConnection(strConn);
//define o objeto comando para a instrução SQL e a conexão
FbCommand fbCmd = new FbCommand("Select * from EMPLOYEE",fbConn);
try
{
fbConn.Open();
//cria um DataAdpater e preenche o DataTable
FbDataAdapter fbDa = new FbDataAdapter(fbCmd);
DataTable dtEmployee = new DataTable();
fbDa.Fill(dtEmployee);
gdvDadosFireBird.DataSource = dtEmployee;
}
catch (FbException fbex)
{
MessageBox.Show("Erro ao acessar o FireBird " + fbex.Message,"Erro");
}
finally
{
fbConn.Close();
}
}
|
![]() |
5-
Acessando o SQLite
Provedor usado :
System.Data.SQLite.dll
namespace utilizado : System.Data.SQLite;
Banco de dados : MacorattiSQLite.db local: c:\dados tabela: Alunos;
![]() |
void CarregarDadosSQLiteClick(object sender, EventArgs e)
{
try{
DataTable dt = new DataTable();
String insSQL = "select * from Alunos";
String strConn = @"Data Source=C:\dados\MacorattiSQLite.db";
SQLiteConnection conn = new SQLiteConnection(strConn);
//define o objeto DataAdater para a instrução SQL e a conexão
SQLiteDataAdapter da = new SQLiteDataAdapter(insSQL,strConn);
//preenche o DataTable
da.Fill(dt);
gdvDadosSQLite.DataSource = dt.DefaultView;
}
catch(Exception ex)
{
MessageBox.Show("Erro ao acessar o SQLite " + ex.Message,"Erro");
}
}
|
![]() |
Creio que fui bem objetivo. E estamos conversados...![]()
Eu sei é apenas C# mas eu
gosto...![]()
Referências:
José Carlos Macoratti