Utilizando bancos free no Visual Studio 2005 (Windows Forms)
Neste artigo mostrarei como utilizar bancos de dados Firebird, MySQL e PostgreSQL no Windows Forms.
Neste artigo mostrarei como utilizar bancos de dados Firebird, MySQL e PostgreSQL no Windows Forms. Em cada um dos bancos foram utilizados os providers de acesso a dados do próprio fabricante.
Pré-Requisitos:
- Visual Studio .NET 2005
- Firebird 2.0
- Firebird .NET Data Provider (Versão 2.5.0 Alpha 1)
- MySQL 5
- MySQL (.NET Data Provider)
- PostgreSQL 8.2
- Npgsql (.NET Data Provider)
Criando o banco de dados
Primeiramente iremos criar o banco de dados em cada um dos bancos, na Listagem 01 está o comando SQL para criação do banco de dados. O nome da base de dados que coloquei foi dados. Obs.: Infelizmente está fora do escopo do artigo mostrar a utilização dos bancos de dados, e também tornaria o artigo muito extenso. Então mostrarei apenas os comandos SQL que foram utilizados.
CREATE DATABASE dados
Listagem 01. Criação da base de dados.
Criando a tabela dos bancos
Agora com os bancos criados, iremos criar a tabela tab_clientes, na Listagem 02 está o comando SQL de criação da tabela e seus respectivos campos (clientes_id (chave primária) e clientes_nome).
CREATE TABLE tab_clientes (
clientes_id INTEGER NOT NULL PRIMARY KEY,
clientes_nome CHAR(50));
Listagem 02. Criação da tabela de clientes.
Inserindo dados na tabela
Neste momento, após a criação da tabela, vamos inserir um registro para cada banco (PostgreSQL, Firebird e MySQL, respectivamente), ver a Listagem 3.
INSERT INTO tab_clientes (clientes_id, clientes_nome)
VALUES (1, ‘banco postgree’);
INSERT INTO tab_clientes (clientes_id, clientes_nome)
VALUES (1, ‘banco firebird’);
INSERT INTO tab_clientes (clientes_id, clientes_nome)
VALUES (1, ‘banco mysql’);
Listagem 03. Inserção de registro nos bancos de dados.
Iniciando o Visual Studio 2005
Agora, iremos abrir, o Visual Studio 2005 (chamarei de VS2005), através do Menu Iniciar -> Todos os Programas -> Microsoft Visual Studio 2005 -> Microsoft Visual Studio 2005, ver na Figura 01 a tela inicial do VS2005.
Figura 01. Tela inicial do VS2005.
Criando o projeto
Agora criaremos o nosso projeto através do Menu File -> New -> Project, logo após abrirá a janela New Project. Utilizei a linguagem C# (lê-se C Sharp), então escolheremos na parte superior esquerda a linguagem Visual C# e depois Windows, em Templates clicamos em Windows Application, agora abaixo no campo Name, colocamos o nome do projeto como ConectandoBancosFree (sem espaço), e clicamos no botão OK. Ver na Figura 02 a janela New Project, com as informações que citei mostrado por um quadro vermelho.
Figura 02. Janela New Project
Adicionando referência ao projeto
Agora iremos referenciar os arquivos necessários (DLLs) para acesso a dados. A referência é feita através do Menu Project -> Add Reference, logo após aparecerá a janela Add Reference, ver Figura 03.
Figura 03. Janela Add Reference.
Agora, levando em conta que os providers dos bancos já estão instalados (caso negativo acesse os links no inicio do artigo baixe e instale), vamos referenciar as DLLs, clicando na aba Browse, e indo até a pasta que estão as DLLs, abaixo na Listagem 04 estão as DLLs e caminho onde estão localizadas.
Firebird
FirebirdSql.Data.FirebirdClient.dll (C:\Arquivos de programas\FirebirdClient 2.0\)
PostgreSQL (não possui caminho padrão, pois o arquivo é descompactado em uma pasta).
Mono.Security.dll
Npgsql.dll
MySQL
MySql.Data.dll (C:\Arquivos de programas\MySQL\MySQL Connector Net 5.0.7\Binaries\.NET 2.0)
Listagem 04. Caminho dos Data Providers dos Bancos.
Montando o layout do formulário
Criaremos agora toda estrutura do nosso formulário, colocaremos 3 buttons e 3 dataGridView, na Figura 04 mostra como ficará nosso formulário, e na Tabela 01 está as propriedades utilizadas de cada componente.
Figura 04. Formulário com os componentes utilizados.
|
Componente |
Propriedade |
Valor |
|
Button1 |
Text |
Ler MySQL |
|
Button2 |
Text |
Ler Firebird |
|
Button3 |
Text |
Ler Postgree |
Tabela 01. Configuração das propriedades dos componentes.
Criando a classe Global.cs
Agora começaremos a codificar nosso projeto, iniciaremos criando uma classe (Menu Project -> Add Class...) de nome Global.cs que será responsável por armazenar a string de conexão de cada banco de dados. Na Listagem 05 está o código da classe criada.
class Global
{
public static string cnmysql = "database = dados; data source = localhost; user id = root; password =";
public static string cnfirebird = "User=SYSDBA; Password = masterkey; Database = C:\\Documents and Settings\\Diego\\Dados de aplicativos\\HK-Software\\IBExpert\\dados.fdb; DataSource = localhost; Dialect=3; Charset=WIN1252; Role=; Connection lifetime=15; Pooling=true; MinPoolSize=0; MaxPoolSize=50; Packet Size=4096; ServerType=0";
public static string cnpostgree = "User ID=postgres;Password=;Host=localhost;Port=5432;Database=dados;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0";
}
Listagem 05. Codificação da classe Global.cs.
Criando a classe Clientes.cs
Agora criaremos a classe Clientes.cs que conterá a codificação para leitura dos bancos de dados, primeiramente adicionaremos os namespaces correspondentes para acesso aos bancos, conforme a Listagem 06.
using MySql.Data.MySqlClient; //NAMESPACE DO MYSQL
using FirebirdSql.Data.FirebirdClient; //NAMESPACE DO FIREBIRD
using Npgsql.Web; //NAMESPACE DO POSTGRESQL
Listagem 06.
Após inserir os namespaces, vamos codificar o acesso a cada banco através do comando SQL Select, a Listagem 07 mostra a codificação necessária.
class Clientes
{
public static DataSet LoadMySQL()
{
DataSet dts = new DataSet();
using (MySqlConnection cnn = new MySqlConnection(Global.cnmysql))
{
string sql = "select * from tab_clientes";
MySqlDataAdapter dtAdapter = new MySqlDataAdapter(sql, cnn);
dtAdapter.Fill(dts, "tab_clientes");
}
return dts;
}
public static DataSet LoadFirebird()
{
DataSet dts = new DataSet();
using (FbConnection cnn = new FbConnection(Global.cnfirebird))
{
string sql = "select * from tab_clientes";
FbDataAdapter dtAdapter = new FbDataAdapter(sql, cnn);
dtAdapter.Fill(dts, "tab_clientes");
}
return dts;
}
public static DataSet LoadPostgree()
{
DataSet dts = new DataSet();
using (Npgsql.NpgsqlConnection cnn = new Npgsql.NpgsqlConnection(Global.cnpostgree))
{
string sql = "select * from tab_clientes";
Npgsql.NpgsqlDataAdapter dtAdapter = new Npgsql.NpgsqlDataAdapter(sql, cnn);
dtAdapter.Fill(dts, "tab_clientes");
}
return dts;
}
}
Listagem 07. Codigicação da classe Clientes.cs.
Criando Eventos
Agora criaremos três eventos, cada um para carregar os dataGriView com os dados do banco. A Listagem 08 mostra a codificação.
private void loadMySQLClientes()
{
this.dataGridView1.DataSource = Clientes.LoadMySQL();
this.dataGridView1.DataMember = "tab_clientes";
}
private void loadFirebirdClientes()
{
this.dataGridView2.DataSource = Clientes.LoadFirebird();
this.dataGridView2.DataMember = "tab_clientes";
}
private void loadPostgreeClientes()
{
this.dataGridView3.DataSource = Clientes.LoadPostgree();
this.dataGridView3.DataMember = "tab_clientes";
}
Codificando o Button1
Agora começaremos a codificar os botões, no button1 codificaremos para leitura do banco MySQL, agora basta em cada botão chamar o evento criado, na Listagem 09, está a codificação do botão (evento Click).
private void button1_Click(object sender, EventArgs e)
{
loadMySQLClientes();
}
Listagem 09. Codificando Button1.
Codificando o Button2
Agora codificaremos o button2 para leitura do banco Firebird, na Listagem 10, está a codificação do botão (evento Click).
private void button2_Click(object sender, EventArgs e)
{
loadFirebirdClientes();
}
Listagem 10. Codificando Button2.
Codificando o Button3
Agora codificaremos o button3 para leitura do banco PostgreSQL, na Listagem 11, está a codificação do botão (evento Click).
private void button3_Click(object sender, EventArgs e)
{
loadFirebirdClientes();
}
Listagem 11. Codificando Button3.
Executando e testando o projeto
Agora iremos testar nosso projeto, na Figura 05, mostra o projeto em execução.
Figura 05. Projeto em execução.
Pudemos notar que a codificação dos bancos de dados são bem semelhantes e simples de serem implementadas.
Em caso de dúvida só entrar em contato. Um grande abraço a todos e até o próximo artigo.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo