Conexão com SGBD's

Page 1

C# - Conexão com os principais SGBD

http://www.macoratti.net/10/03/c_cnbd.htm

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

1 de 6

27/7/2012 16:49


C# - Conexão com os principais SGBD

2-

http://www.macoratti.net/10/03/c_cnbd.htm

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

2 de 6

Timeout=30;";

27/7/2012 16:49


C# - Conex達o com os principais SGBD

3-

http://www.macoratti.net/10/03/c_cnbd.htm

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

3 de 6

Security = SSPI;";

27/7/2012 16:49


C# - Conexão com os principais SGBD

4-

http://www.macoratti.net/10/03/c_cnbd.htm

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

UserId=SYSDBA; Pwd=masterkey";

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

4 de 6

27/7/2012 16:49


C# - Conex達o com os principais SGBD

http://www.macoratti.net/10/03/c_cnbd.htm

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)

5 de 6

27/7/2012 16:49


C# - Conexão com os principais SGBD

http://www.macoratti.net/10/03/c_cnbd.htm

{ 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:

6 de 6

C# C# C# C# C#

- Acessando Ms Access - Acessando uma tabela Access - Acessando MySQL - Gerenciando um banco de dados MySQL - Acessando FireBird José Carlos Macoratti

27/7/2012 16:49


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.