Conectando c# Com Firebird

Download Conectando c# Com Firebird

Post on 30-Jan-2016

19 views

Category:

Documents

0 download

DESCRIPTION

Como conectar o C# com Firebird

TRANSCRIPT

Conectando o C# ao banco de dados FirebirdBom dia pessoal. Hoje falaremos de um assunto que muitos dos meus alunos me pediram, a conexo 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 so muitos usados no mercado e que no fazem parte do suporte da linguagem. Entre eles temos o Firebird.FireBirdO Firebird um sistema de banco de dados OpenSource gerido pela fundao FirebirdSQL. Todo seu cdigo pode ser baixado diretamente e modificado pelos seus usurios. O Firebird nasceu baseando-se no cdigo de uma outra plataforma de banco de dados chamada InterBase, criada pela Borland (a mesma criadora do Delphi), que, aps inmeros erros em seu produto, acabou por abandon-lo, deixando seu cdigo para uma associao de programadores que acabou por arrum-lo e lanar a primeira verso do Firebird.Preparando para conectar o Firebird com o C#Como dito anteriormente o Visual C#, criado pela Microsoft, no possui suporte para bancos de dados que no 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/ , no esquea que deve baixar a verso do ADO.NET.Baixe o programa e o instale, com ele as DLLs necessrias para o C# se conectar sero 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 opo 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 instalao do pacote, que no meu caso(Windows 8): C:\Program Files (x86)\FirebirdClient 2.0 como na imagem abaixo:Feito isso a referencia foi adicionada ao C#, agora devemos adicionar a biblioteca ao nosso cdigo, 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.Seguindo com nosso projeto, j executamos todos os passos para sua preparao, agora iremos conectar ao arquivo que corresponde ao nosso banco de dados.Para conectarmos, devemos criar a varivel que ira conter a string de conexo, e a varivel que conter a conexo em si, sendo ela a responsvel pela execuo 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 conexo devemos colocar os dados de nosso sistema, como indica a baixo: DataSource: Endereo do servidor, caso esteja na mesma maquina, deixar o localhost. Database: Endereo do arquivo do banco de dados dentro do sistema. Username: O usuario local para acessar o banco, por padro temos: SYSDBA. Password: A senha usada para acessar o banco, por padro temos: masterkey.Banco de dados.Antes de prosseguir, iremos criar um banco de dados e uma tabela para que efetuemos os testes, no cabe a este tutorial explicar como fazer isso, ento segue abaixo a construo que adotaremos para nosso exemplo.Banco: arq.fdpTabela TesteNumNome1Bruno2Gabriel3CaioIndo para o programa.Bom, agora vamos montar um programa bsico que contenha os elementos principais para a conexo e execuo de todas as funes bsicas possveis.Comearemos com uma tela, como no exemplo abaixo:Vamos verificar a programao de cada um dos botes acima, porem veremos primeiro as declaraes superiores do programa.Declaraes superiores: private string strConn = @"DataSource=localhost; Database=C:\arq.fdb; username= SYSDBA; password = masterkey"; FbConnection conn;Temos basicamente duas funes neste trecho, a primeira com a string de conexo, como visto acima, e a segunda, declarando uma varivel conn do tipo FbConnection para armazenar (instanciar) a conexo com o banco de dados. Boto Conectar. private void bt_conectar_Click(object sender, EventArgs e) { conn = new FbConnection(strConn); lbl_status.Text="CONECTADO"; }Este boto tem a funo simples de conectar, utilizando a varivel conn declarada anteriormente. Note que no comando temos como parmetro a varivel strConn que tem armazenado dentro de si a string de conexo com o banco.Boto 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";conn.Close();}O boto listar possui uma construo simples e bem fcil de manipular, onde na primeira linha, temos como parmetros o comando SQL e a varivel de conexo com o banco. Na segunda e na terceira linha criamos as variveis que armazenaro o resultado, na quarta abrimos a conexo, e executamos o cdigo SQL. Na quinta na sexta e na stima linha, separamos os dados e jogamos eles dentro da lista, o Datagridview. E na oitava linha fechamos a conexo.Boto 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 insero, com seus campos e as referencias as caixas de texto. Nas linhas seguintes preparamos o comando, abrimos a conexo, executamos o SQL e fechamos a conexo.Segundo boto de listar:Este boto tem a funo de pegar uma informao especifica do banco e mostrar ela na tela, com este mtodo 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 criao da string SQL j inserida dentro da classe de conexo. Na segunda e terceira linha preparamos para executar utilizando o DataSet. Na quarta linha abrimos a conexo, na sexta executamos o comando e na stima fechamos a conexo.Ate aqui praticamente igual ao listar geral, porem agora ao invs de buscarmos os dados diretamente para a lista, pegaremos apenas um registro da tabela e jogaremos no em um label. Atentando que os parmetros [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.E com isso temos um programa bsico e funcional para executarmos nossas operaes com banco Firebird, gostaria de salientar que este mtodo e muito parecido com o mtodo utilizado com o MS SQL entre outros.Abraos