VB.NET - Conexão com o FireBird


 

Continuando a nossa saga de realizar conexões com os mais diversos banco de dados na plataforma .NET vou mostrar como acessar o FireBird 1.5 usando o provedor FireBird .NET Proviider.

 

Não é a primeira vez que eu trato do FireBird , para saber mais sobre o assunto leia os artigos :

Dois sites com visita obrigatória para quem pretende saber mais sobre o FireBird são:

Para acompanhar este artigo você vai precisar ter instalado :

 

1- O FireBird 1.5 - que você pode baixar no seguinte link:  firebird-win32

2- O provedor FireBird .NET Provider - que você pode pegar e instalar indo para este endereço : FireBird .NET Provider

3- Uma ferramenta com interface gráfica para administrar o FireBird - Vou usar o IBExpert que você baixa no link: IB Expert Personal Edition

 

Seria bom você ter alguma noção de como o FireBird funciona. Existe uma documentação em português que você pode acessar no link : FireBird_portugueses.pdf

 

Estando com os itens acima instalados você pode prosseguir com o a criação do banco de dados e da tabela que será usada no exemplo do artigo.

Criando o banco de dados e a tabela no FireBird

Ao usar o IB Expert devemos criar e em seguida registrar o banco de dados para que ele possa ser reconhecido pela ferramenta. Para criar um banco de dados , abra o IB Expert e clique no Menu em DataBase opção Create DataBase. A janela de diálogo Create Database irá surgir , preencha os dados conforme abaixo para criar o banco de dados Cadastro.gdb na pasta d:\teste:

Indique as opções conforme a figura ao lado:

Server : Informe Local

DataBase : o nome e localização do banco de dados a ser criado

UserName : informe SYSDBA

Password : informe masterkey

SQL : Informe Dialect 3

nota : a extensão .gdb indica um arquivo no formato Interbase ; a extensão .fdb indica o formato FireBird.

Ao clicar no botão OK a janela para registrar o banco de dados vai se abrir automaticamente (veja figura abaixo). Preencha-a com os dados conforme figura a seguir:

Informe a versão do Server : FireBird 1.5

Database Alias -> Informe cadastro

e clique no botão : Register

Após ter registrado o Banco de dados Cadastro selecione o seu nome que aparece no painel a esquerda; os objetos do banco de dados serão exibidos ; e a seguir clique com o botão direito do mouse sobre o objeto Table ; escolha New Table para poder criar uma nova tabela chamada clientes no banco de dados cadastro:

Na janela Table basta informar o nome da tabela na caixa NEW_TABLE

Para cada campo a ser incluído clique no ícone Add Field do menu e preencha com os dados para o campo desejado.

Abaixo temos a janela TABLE preenchida para criar a tabela clientes com as definições de campos:

A estrutura da tabela clientes é a seguinte :

codigo - chave primária - Inteiro - auto incremental

Nome - varchar(40)

Endereco - varchar(50)

Telefone - varchar(20)

Email - varchar(100)

Obs: Para mais detalhes sobre a operação do programa leia o manual

Agora clique na opção Compile do menu e será gerada a tabela e com a chave primária e com o campo auto-incremento conforme abaixo.

Perceba que foi criado um trigger para a chave primária.

Isto é feito quando você estiver definindo o campo da tabela na opção Auto Inc na Aba Generetor opção - Create Generator e na Aba Trigger opção Create Trigger

 

Para encerrar clique em Commit e pronto nossa tabela Clientes estará criada e pronto para ser usada.

Nota: Se você instalar o FireBird como um serviço do Windows e não quiser que ele seja iniciado toda vez que o Windows iniciar pode definir isto durante a instalação.

Para iniciar o serviço do FireBird clique em Iniciar -> Executar e digite services.msc e na janela - Serviços(local) - selecione o nome do serviço, clique duas vezes sobre o mesmo e a seguir clique no botão Iniciar , conforme figura abaixo:

 

Agora que já está tudo pronto , inclua alguns registros usando o IBExpert e verifique se esta tudo OK. Para o exemplo deste artigo inclui alguns registros na tabela clientes e usando o IBExpert acessei o banco de dados e a tabela conforme a figura abaixo:

 

 

Acessando o FireBird via VB.NET

 

Finalmente chegamos ao objetivo deste artigo : Criar uma aplicação VB.NET que acesse os dados da tabela Clientes do banco de dados Cadastro.gdb.

 

Inicie um novo projeto chamado conFireBird no VS.NET do tipo Windows Application usando a linguagem VB.NET. e no formulário padrão altere o nome de form1.vb para frmFB.vb.

 

A seguir inclua o componente ListBox (lstbFB) e um botão de comando (btnFB) no formulário:

 

 

Vamos agora fazer a referência ao provedor FireBird .NET Provider que você já instalou. Clique com o botão direito do mouse sobre o nome do projeto e selecione a opção Add Reference.

 

Na janela Add Reference localize o componente Firebird .NET Provider , clique em Select e a seguir em OK.

 

 

Feito isto podemos criar o código que irá fazer o serviço. 

 

Vou acessar a tabela clientes do banco de dados cadastro.gdb usando um datareader e exibir os dados no ListBox.

 

Como você verá no código a sintaxe é idêntica a qualquer acesso usando o DataReader

 

A primeira coisa a fazer é declarar o import para o provedor : 

Imports FirebirdSql.Data.Firebird

A seguir no evento Click do botão de comando insira o código abaixo:

 

Private Sub btnFB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFB.Click
 

'declara a variavel da string de conexão

Dim conFB As String


'define a string de conexão usando o usuário e senha padrão

conFB = "User=SYSDBA;Password=masterkey;Database=d:\teste\cadastro.gdb;DataSource=localhost;Port=3050;Dialect=3;"


'define os objetos connection command e datareader

Dim connection As FbConnection = New FbConnection(conFB)


'abre a conexao

connection.Open()


'define o comando SQL para selecionar todos os clientes da tabela CLIENTES na conexao atual

Dim command As FbCommand = New FbCommand("select * from CLIENTES", connection)


'gera o datareader

Dim reader As FbDataReader = command.ExecuteReader()


'limpa a lista

lstbFB.Items.Clear()


'percorre o datareader e preenche o listbox

While reader.Read

     lstbFB.Items.Add(reader.GetInt16(0) & " - " & reader.GetString(1) & " - " & reader.GetString(2))

End While


'fecha o datareader

reader.Close()

'fecha a conexao

connection.Close()


End
Sub

 

As linhas destacadas no código são as linhas relacionadas com o FireBird e já estão comentadas.

 

Observe que na string de conexão eu estou usando o usuário e chave padrão para o FireBird (SYSDBA e masterkey)  , você pode e deve alterar estes valores em uma aplicação de produção.

 

Executando a aplicação teremos:

 

 

Isto é o arroz com feijão do assunto , existe muito mais possibilidades e algumas limitações que irei abordar em outro artigo.

 

Sugiro que você leia a documentação do Provedor para maiores detalhes se desejar ir mais fundo no assunto.

 

Pegue o código completo aqui :  conFireBird.zip

 

Até breve...


José Carlos Macoratti