7
Conectando o C# ao banco de dados Firebird Bom dia pessoal. Hoje falaremos de um assunto que muitos dos meus alunos me pediram, a conexão com o banco de dados Firebird no C#. A linguagem C# possui suporte nativo bancos de dados da Microsoft, porem existem dezenas de bancos de dados que são muitos usados no mercado e que não fazem parte do suporte da linguagem. Entre eles temos o Firebird. FireBird O Firebird é um sistema de banco de dados OpenSource gerido pela fundação FirebirdSQL. Todo seu código pode ser baixado diretamente e modificado pelos seus usuários. O Firebird nasceu baseando-se no código de uma outra plataforma de banco de dados chamada InterBase, criada pela Borland (a mesma criadora do Delphi), que, após inúmeros erros em seu produto, acabou por abandoná-lo, deixando seu código para uma associação de programadores que acabou por arrumá-lo e lançar a primeira versão do Firebird. Preparando para conectar o Firebird com o C# Como dito anteriormente o Visual C#, criado pela Microsoft, não possui suporte para bancos de dados que não sejam criados pela mesma. Porem existe um software que deve ser instalado na maquina onde você for programar e em todas as maquinas que executaram o programa, o nome deste software é: FirebirdClient, segue link do site oficial: http://www.firebirdsql.org/en/additional-downloads/ , não esqueça que deve baixar a versão do ADO.NET. Baixe o programa e o instale, com ele as DLL’s necessárias para o C# se conectar serão adicionadas para seu uso. Como programar o C# Ao iniciar o projeto, devemos acrescentar a biblioteca instalada a ele para que possamos utilizá-la. Para isso devemos: Clicar na guia “PROJECT” e escolher a opção “ADD REFERENCE”.

Conectando c# Com Firebird

Embed Size (px)

DESCRIPTION

Como conectar o C# com Firebird

Citation preview

Page 1: Conectando c# Com Firebird

Conectando o C# ao banco de dados Firebird

Bom dia pessoal. Hoje falaremos de um assunto que muitos dos meus alunos me pediram, a conexão com o banco de dados Firebird no C#.

A linguagem C# possui suporte nativo bancos de dados da Microsoft, porem existem dezenas de bancos de dados que são muitos usados no mercado e que não fazem parte do suporte da linguagem. Entre eles temos o Firebird.

FireBird

O Firebird é um sistema de banco de dados OpenSource gerido pela fundação FirebirdSQL. Todo seu código pode ser baixado diretamente e modificado pelos seus usuários.

O Firebird nasceu baseando-se no código de uma outra plataforma de banco de dados chamada InterBase, criada pela Borland (a mesma criadora do Delphi), que, após inúmeros erros em seu produto, acabou por abandoná-lo, deixando seu código para uma associação de programadores que acabou por arrumá-lo e lançar a primeira versão do Firebird.

Preparando para conectar o Firebird com o C#

Como dito anteriormente o Visual C#, criado pela Microsoft, não possui suporte para bancos de dados que não sejam criados pela mesma. Porem existe um software que deve ser instalado na maquina onde você for programar e em todas as maquinas que executaram o programa, o nome deste software é: FirebirdClient, segue link do site oficial: http://www.firebirdsql.org/en/additional-downloads/ , não esqueça que deve baixar a versão do ADO.NET.

Baixe o programa e o instale, com ele as DLL’s necessárias para o C# se conectar serão adicionadas para seu uso.

Como programar o C#

Ao iniciar o projeto, devemos acrescentar a biblioteca instalada a ele para que possamos utilizá-la. Para isso devemos:

Clicar na guia “PROJECT” e escolher a opção “ADD REFERENCE”. Na janela que abriu clicamos na aba “BROWSE”. Devemos encontrar a DLL que instalamos para acrescentar ao projeto, no caso seu

nome é: “FIREBIRDSQL.DATA.FIREBIRDCLIENT.DLL”, que esta na pasta da instalação do pacote, que no meu caso(Windows 8): “C:\Program Files (x86)\FirebirdClient 2.0” como na imagem abaixo:

Page 2: Conectando c# Com Firebird

Feito isso a referencia foi adicionada ao C#, agora devemos adicionar a biblioteca ao nosso código, utilizando o comando “using”, como no exemplo abaixo:

using FirebirdSql.Data.FirebirdClient;

Como na imagem abaixo:

Fazendo o que descrevemos acima, temos tudo para trabalhar com o banco de dados FireBird.

Conectando ao banco de dados.

Page 3: Conectando c# Com Firebird

Seguindo com nosso projeto, já executamos todos os passos para sua preparação, agora iremos conectar ao arquivo que corresponde ao nosso banco de dados.

Para conectarmos, devemos criar a variável que ira conter a string de conexão, e a variável que conterá a conexão em si, sendo ela a responsável pela execução de todos os comandos relativos ao banco de dados. Como no exemplo abaixo:

private string strConn = @"DataSource=localhost; Database=C:\arq.fdb; username= SYSDBA; password = masterkey"; //string de conexao. preencher os dados minimos para conectar

FbConnection conn; //variavel que representa a conexao.Lembrando que na string de conexão devemos colocar os dados de nosso sistema, como indica a baixo:

DataSource: Endereço do servidor, caso esteja na mesma maquina, deixar o “localhost”.

Database: Endereço do arquivo do banco de dados dentro do sistema. Username: O usuario local para acessar o banco, por padrão temos: “SYSDBA”. Password: A senha usada para acessar o banco, por padrão temos: “masterkey”.

Banco de dados.

Antes de prosseguir, iremos criar um banco de dados e uma tabela para que efetuemos os testes, não cabe a este tutorial explicar como fazer isso, então segue abaixo a construção que adotaremos para nosso exemplo.

Banco: arq.fdp

Tabela TesteNum Nome

1 Bruno2 Gabriel3 Caio

Indo para o programa.

Bom, agora vamos montar um programa básico que contenha os elementos principais para a conexão e execução de todas as funções básicas possíveis.

Começaremos com uma tela, como no exemplo abaixo:

Page 4: Conectando c# Com Firebird

Vamos verificar a programação de cada um dos botões acima, porem veremos primeiro as declarações superiores do programa.

Declarações superiores:

private string strConn = @"DataSource=localhost; Database=C:\arq.fdb; username= SYSDBA; password = masterkey"; FbConnection conn;

Temos basicamente duas funções neste trecho, a primeira com a string de conexão, como visto acima, e a segunda, declarando uma variável “conn” do tipo “FbConnection” para armazenar (instanciar) a conexão com o banco de dados.

Botão Conectar.

private void bt_conectar_Click(object sender, EventArgs e) { conn = new FbConnection(strConn); lbl_status.Text="CONECTADO"; }

Este botão tem a função simples de conectar, utilizando a variável “conn” declarada anteriormente. Note que no comando temos como parâmetro a variável “strConn” que tem armazenado dentro de si a string de conexão com o banco.

Botão listar.

private void btn_listar_Click(object sender, EventArgs e) {FbCommand cmd = new FbCommand("SELECT * FROM teste", conn); FbDataAdapter DA = new FbDataAdapter(cmd);

DataSet DS = new DataSet(); conn.Open();DA.Fill(DS, "teste");dataGridView1.DataSource = DS;dataGridView1.DataMember = "teste";

Page 5: Conectando c# Com Firebird

conn.Close();

}

O botão listar possui uma construção simples e bem fácil de manipular, onde na primeira linha, temos como parâmetros o comando SQL e a variável de conexão com o banco. Na segunda e na terceira linha criamos as variáveis que armazenarão o resultado, na quarta abrimos a conexão, e executamos o código SQL. Na quinta na sexta e na sétima linha, separamos os dados e jogamos eles dentro da lista, o “Datagridview”. E na oitava linha fechamos a conexão.

Botão Inserir:

private void bt_inserir_Click(object sender, EventArgs e) { string sqlIncluir = "INSERT INTO teste (num, nome)"+ "Values (" + textBox1.Text + ", ' " + textBox2.Text + " ')";

FbCommand cmd = new FbCommand(sqlIncluir, conn);conn.Open();cmd.ExecuteNonQuery();conn.Close();}

Na primeira linha criamos a string que conterá o SQL de inserção, com seus campos e as referencias as caixas de texto. Nas linhas seguintes preparamos o comando, abrimos a conexão, executamos o SQL e fechamos a conexão.

Segundo botão de listar:

Este botão tem a função de pegar uma informação especifica do banco e mostrar ela na tela, com este método temos um controle muito mais firme sobre os dados.

private void bt_list_unico_Click(object sender, EventArgs e){FbCommand cmd = new FbCommand("SELECT * FROM teste WHERE num=" + txt_listar.Text, conn); //executa o SQLFbDataAdapter DA = new FbDataAdapter(cmd);DataSet DS = new DataSet();conn.Open();DA.Fill(DS, "teste"); conn.Close();lbl_nome.Text = DS.Tables["teste"].Rows[0][1].ToString();conn.Close();}

Na primeira linha temos a criação da string SQL já inserida dentro da classe de conexão. Na segunda e terceira linha preparamos para executar utilizando o DataSet. Na quarta linha abrimos a conexão, na sexta executamos o comando e na sétima fechamos a conexão.Ate aqui praticamente igual ao listar geral, porem agora ao invés de buscarmos os dados diretamente para a lista, pegaremos apenas um registro da tabela e jogaremos no em um label. Atentando que os parâmetros [0][1], simbolizam em sua ordem, linha e coluna, logo estou retornando a primeira linha que foi retornada na consulta(linha 0) e a segunda coluna(coluna 1), que é o campo nome.

Page 6: Conectando c# Com Firebird

E com isso temos um programa básico e funcional para executarmos nossas operações com banco Firebird, gostaria de salientar que este método e muito parecido com o método utilizado com o MS SQL entre outros.

Abraços