Conectando Em Uma Base de Dados Firebird Com C#

download Conectando Em Uma Base de Dados Firebird Com C#

of 14

Transcript of Conectando Em Uma Base de Dados Firebird Com C#

Conectando em uma base de dados Firebird com C#O Firebird um dos melhores SGDBs atualmente, neste artigo voc ficar sabendo como se conectar a este poderoso banco de dados usando a linguagem de programao C#

Ol apaixonados por sistemas computacionais!! E principalmente apaixonados por C#!! Um pouco cedo demais para outro artigo?!?! Ontem um amigo ?telefonou-me? (depois eu explico para ele que existem meios mais econmicos de se falar com algum!! kk brincadeirinha :-P), sua dvida girava em torno de como realizar a conexo com uma base de dados Firebird no C#, e sobre isto que se trata este artigo. Bem o Firebird dispensa comentrios, eu mesmo utilizo-o em projetos comerciais, e devo dizer que at a data atual no passei por nenhuma saia justa. Para realizar esta conexo utilizaremos o Firebird .NET Data Provider que pode ser obtido diretamente no site do Firebird, no final do artigo ser apresentado o endereo do download. No site voc encontrar vrias verses, necessrio que voc instale a verso 2.5.0 Beta para .NET 3.5/2.0, um conselho que dou para voc baixar o pacote zipado com os binrios e descompactar os arquivos diretamente para a pasta C:\\Windows\\Microsoft.NET\\Framework. Agora ao projeto!! No Visual Studio 2008 crie um novo projeto [Ctrl + Shift + N] Visual C#/Windows/ Windows Forms Application, e mude o nome do projeto para ConectFirebird.

figura 01 Criando o projeto.No Solution Explorer clique com o boto direito do mouse e selecione a opo Add Reference...

figura 2 Adicionar referencia ao projeto. Na tela seguinte v para a aba Browse e localize o arquivo Firebird.Data.FirebirdClient.dll.

figura 3 Localizando o arquivo Firebird.Data.FirebirdClient.dll. Bem agora vamos comear a programar. No Solution Explorer localize o arquivo Program.cs, eu uso este arquivo para criar minhas VARIVEIS GLOBAIS (kk), na realidade eu crio uma classe publica e esttica, s um artifcio que me auxilia muito. Vejam a imagem abaixo e logo em seguida eu explicarei cada uma das alteraes realizadas.

figura 4 Arquivo Program.cs. Vamos explicao dos cdigos acrescentados: 1) Neste ponto eu estou incluindo a referncia biblioteca que nos permitir acessar os mtodos necessrios para conectar com uma base Firebird. 2) Esta a classe que representar a minha conexo com o banco de dados, o motivo fazer com que eu utilize somente uma conexo no programa por completo, no a nica forma de fazer isto,mais o artigo teu ou meu?? (kkk brincadeirinha!!), perceba que ela bem simples, eu deixo de forma esttica os dados referentes ao usurio, senha, banco de dados dentre outros. Voc livre para alterar/melhorar esta classe conforme suas necessidades. Descrevendo rapidamente temos: Connection o nome da minha classe. FbConnection o tipo de varivel que realiza a conexo com o meu banco de dados. FbCommandBuilder o tipo de varivel que recebe uma conexo e executa uma sentena SQL. (Ps.: esta varivel no vai ser utilizada agora, mais mais fcil eu digitar esta mensagem do que mudar a imagem. :-P), voc no precisa criar esta varivel. Por medida de controle eu criei somente os mtodos Get das variveis fbConn e fbCmm. Logo em seguida crie um mtodo que ser responsvel pela conexo com o banco de dados, acredito que o cdigo seja autoexplicativo. 3) Neste ponto eu chamo o mtodo Connection.Active(true) para realiza a conexo com o meu banco de dados e fao um tratamento para o caso de ocorrer alguma exceo. A partir deste ponto qualquer classe do sistema poder acessar as propriedades e os mtodos da classe Connection para tratar o banco de dados. 4) E finalmente eu fecho a minha conexo, lembrando que o sistema s executar esta linha quando estiver sendo finalizado. Bem, agora vamos modificar o nosso formulrio, adicione um componente DataGridView e mude o seu nome para grid e ajuste-o de modo a que se parea com a figura a seguir.

figura 5 Formulrio da aplicao. Vamos agora ao Firebird, use o seu gerenciador preferido, pode ser qualquer um que lhe permita realizar algumas tarefas, crie uma tabela seguindo o script abaixo. CREATE TABLE "AGENDA" ( "ID" INTEGER NOT NULL, "NOME" VARCHAR(60) NOT NULL, "TELEFONE" VARCHAR(12) NOT NULL, PRIMARY KEY ("ID") ); Execute este scrip tambm, para termos dados na tabela. INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(01,'FULANO DOS ANZOIS','86.1111-1111'); INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(02,'CICRANO CELESTINO','86.2222-2222'); INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(03,'BELTRANO','86.3333-3333'); INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(04,'NINGUEM','86.4444-4444'); INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(05,'AQUM','86.55555555'); INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(06,'LULA','86.66666666'); INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(07,'COLLOR','86.77777777');

INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(08,'MO SANTA','86.8888-8888'); INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(09,'TIAO','86.99999999'); INSERT INTO AGENDA(ID,NOME,TELEFONE)VALUES(10,'TIRIRICA','86.0000-0000'); Agora voltando ao projeto, vamos criar uma classe para termos acesso a esta tabela. No Solution Explorer clique no seu projeto com o boto direito do mouse e selecione Add../Class..

figura 6 Adicionando uma nova classe ao projeto. Renomeie a classe para clAgenda.cs conforme a figura a seguir.

figura 7 Adicionando a classe clAgenda.cs.

Mais um pouco de codificao:

figura 8 Classe da tabela AGENDA. Esta classe est bem simples, perceba que eu no realizo verificaes, tipo se a tabela existe, mais como j havia dito anteriormente voc pode (DEVE) criar em cima deste MODELO que estou lhes passando. Considero este cdigo bastante trivial, por isso vou explicar somente o mtodo Open() desta classe:

Neste mtodo eu crio uma objeto do tipo FbCommand, logo em seguida na propriedade Connection deste objeto eu atribuo o valor passado pela chamada do mtodo. Na propriedade CommandText eu atribuo a sentena SQL cujo mtodo ExecuteReader() me retorna um DataReader e eu atribuo diretamente para o retorno do mtodo. Agora v at o formulrio em modo Design, selecione o formulrio e no evento Load acrescente o cdigo a seguir.

figura 9 Cdigo a ser acrescentado no formulrio do sistema.

Vamos uma breve descrio destas alteraes: 1) Eu digo ao sistema que desejo utilizar a biblioteca do Firebird. 2) Eu crio um objeto do tipo clAgenda onde eu possuo as propriedades e os mtodos de acesso tabela de AGENDA. 3) Finalmente eu crio um objeto do tipo DataTable que receber o FbDataReader que retornado no momento em que eu executo o mtodo tblAgenda .Open(Connection.FbCnn) . Bem agora podemos executar o nosso projeto e se a base de dados e a tabela AGENDA existirem e o servidor do Firebird estiver rodando (uffa!!) voc ver a seguinte tela:

figura 10 Sistema concludo e executando. E pronto, agora voc j pode usar o Firebird nos seus projetos para a plataforma .NET com o C#, com o modelo apresentado voc poder desenvolver um CRUD completo para sua base de dados. Obs.: No endereo abaixo voc obtm o Firebird .NET Data Provider utilizado neste artigo: http://downloads.sourceforge.net/firebird/FirebirdSql.Data.FirebirdClient2.5.0-Beta1.zip Espero que tenham gostado, estou aberto a sugestes e crticas (desde que construtivas. Ok!! :-P), podem at mesmo me solicitar artigos sobre o que

desejam saber, s peo pela pacincia de vocs (lembrando que outro feriado que nem este s no prximo ano :-P). At a prxima!! OBSERVAO COPIA DA INTERNET COMO AUXILIO E AJUDA TODOS OS DIREITOS DO DONO DO DOCUMENTO ACESSADO EM 12-12-11 PESQUISAS NO GOOGLE