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 bancos 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á omesmo 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 coloco 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 usarei 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 mostrarei uma das possíveis formas de se conectar com o banco de dados usando ADO .NET, não é a melhor nem a pior, é apenas uma das formas de fazer a conexão:

01. Acessando o Microsoft Access


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;DataSource=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);
}
} 


02. 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();

}
}


03. Acessando o SQL Server



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);
}
}


04. 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();
}
}


05. 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');

}
}




Eu sei, é apenas C#, mas eu gosto...
"

Comentários

Postagens mais visitadas