Visual Basic 6 - Acessando o FireBird
O FireBird nasceu quando a Borland resolver fazer do InterBase um open source. Na verdade você tem agora o Interbase como uma versão comercial e o Firebird baseado na versão 6 do Interbase como um open source. |
Neste artigo vou mostrar como você pode instalar e acessar o FireBird usando o VB 6. Ao trabalho...
Você vai precisar ter instalado os seguintes programas :
Instalando e testando o FireBird
Instalar o FireBird no Windows não tem segredo é só clicar no pacote que você baixou no item 1 e seguir as orientações.
Acabanco a instalação vamos ver se a mesma foi feita com sucesso.
Na versão que instalamos existe o banco de dados Httplogs.gdb , vamos acessá-lo e exibir as tabelas e seus registros:
Digite o seguinte comando na janela Executar para acessar o banco de dados Httplogs.gdb usando a chave e senha padrão:
"C:\Arquivos de Programas\FireBird\Firebird_1_5\bin\isql.exe" "C:\Arquivos de Programas\FireBird\Firebird_1_5\Exemplos\Httplogs.gdb" -u sysdba -p masterkey
A seguir digite
na linha de comando SQL o comando Show Tables;
Agora digite a instrução SQL Select * from States
para exibir os dados da tabela States.
O resultado obtido pode ser visto abaixo:
Vamos fazer o download de um banco de dados para testes.
Crie uma pasta chamada teste e faça o dowload do banco de dados employeed.gdb no link abaixo para esta pasta que você criou:
http://www.ettasoft.com/images/Employee.zip
Nota: aproveite e copie o banco de dados Httplogs.gdb para esta pasta pois a usaremos para os exemplos com o Visual Basic.
Após você baixar e descompactar o banco de dados para o local indicado vamos testar o acesso ao banco de dados via linha de comando. Digite o seguinte comando na janela Executar:
"C:\Arquivos de Programas\FireBird\Firebird_1_5\bin\isql.exe" "C:\Arquivos de Programas\FireBird\Firebird_1_5\Exemplos\employee.gdb" -u sysdba -p masterkey
Nota: Estou executando o comando isql.exe no diretório bin do FireBird para abrir o banco de dados employee.gdb que esta na pasta exemplos.
Após executar o comando o prompt SQL> irá aparecer .
Digite em seguida o comando : Show tables;
Agora digite o comando SQL : Select * from Employees; e você deverá a relação de linhas da tabela Employees , conforme figura abaixo:
para sair digite Exit;.
Acabamos de testar o acesso a banco de dados no ambiente FireBird. Como usar a linha de comando pode exigir muita digitação você pode utilizar uma ferramenta que fornece uma interface mais amigável. Estou falando do IB_SQL.
Vamos criar um banco de dados usando o IB_SQL. Inicie o aplicativo e na aba Connections na caixa de texto - DataBase - informe o nome e caminho do banco de dados que deseja criar: Ex: C:\Teste\teste.gdb e a seguir clique no ícone - Create DataBase - conforme figura abaixo:
Instalando o driver para acesso
Para instalar o Driver Zstyle basta descompactar o pacote e copiar os arquivos para a pasta \windows\system e a seguir executar o arquivo ibolereg.bat.
Para verificar se o driver foi instalado com sucesso fazemos um teste usando o driver instalado com uma conexão com o banco de dados Httplogs.gdb. (veja abaixo)
Neste ponto você já deve ter concluído as seguintes tarefas com sucesso:
Acessando o FireBird com o Visual Basic
Vamos agora acessar o FireBird usando o VB. Para isto o driver OLE DB deverá estar instalado. Você pode usar qualquer outro Driver que desejar.
Vamos criar uma conexão via ADO para acessar a tabela Employees do banco de dados Employee.gdb.
Inicie um novo projeto e no formulário padrão inclua um ListBox e um Botão de comando. No evento Click do botão de comando insira o seguinte código:
Private
Sub Command1_Click() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim sql As String cn.ConnectionString = "Provider=ZStyle IBOLE Provider;Data Source=c:\teste\Employee.gdb;UID=sysdba;password=masterkey" sql = "Select * From Employees" cn.Open Set rs = cn.Execute(sql) Do While Not rs.EOF List1.AddItem rs(0) & vbTab & rs(1) & vbTab & rs(2) rs.MoveNext Loop rs.Close cn.Close End Sub |
Note que eu estou usando o usuário sysdba e a senha masterkey definidas como padrão para estes banco de dados , mas você pode alterar a seu critério.
O resultado será a exibição dos campos : EmployeeID , Last_Name e First_Name representados por rs(0), rs(1) e rs(2) da tabela Employees :
Incluindo dados no FireBird
Vamos agora incluir dados na tabela State . Esta tabela possui os campos STATE_CODE e STATE_NAME.
Inicie um novo projeto no VB e no formulário inclua um botão de comando e um ListBox. Vamos carregar o ListBox com os dados que desejamos incluir na tabela e colocar no evento Click do botão de comando o código abaixo para incluir os dados :
O código para carregar o ListBox com os dados que vamos incluir na tabela é colocado no evento Load do formulário:
Private
Sub Form_Load() List1.AddItem "SP" & vbTab & "São Paulo" List1.AddItem "RJ" & vbTab & "Rio de Janeiro" List1.AddItem "MG" & vbTab & "Minas Gerais" List1.AddItem "DF" & vbTab & "Brasilia" End Sub |
Abaixo o código que inclui os dados na tabela State; Estou usando a instrução SQL INSERT INTO para incluir os valos na tabela
Private
Sub Command2_Click() Dim cn As New ADODB.Connection Dim sql As String Dim i, rowCount As Integer Dim linha As String Dim array cn.ConnectionString = "Provider=ZStyle IBOLE Provider;Data Source=c:\teste\Httplogs.gdb;UID=sysdba;password=masterkey" cn.Open 'Inclui itens no banco de dados rowCount = List1.ListCount 'obtem o numero de linhas no listbox Do Until i = rowCount linha = List1.List(i) array = Split(linha, vbTab) sql = "Insert Into States (State_Code, State_Name) Values" & "('" & UCase(array(0)) & "','" & array(1) & "')" i = i + 1 cn.Execute sql Loop cn.Close List1.Clear End Sub |
Abaixo o formulário com os dados carregados no ListBox1 e os dados sendo exibidos após a inclusão no ListBox2:
O código para exibir os dados é semelhante ao usado no primeiro exemplo:
Private
Sub Command3_Click() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim sql As String cn.ConnectionString = "Provider=ZStyle IBOLE Provider;Data Source=c:\teste\Httplogs.gdb;UID=sysdba;password=masterkey" sql = "Select * From States" cn.Open Set rs = cn.Execute(sql) Do While Not rs.EOF List2.AddItem rs(0) & vbTab & rs(1) rs.MoveNext Loop rs.Close cn.Close End Sub |
Editando dados no Firebird com o VB
Abaixo temos o código que usa uma instrução SQL UPDATE para atualizar os dados da tabela State
Private
Sub Command1_Click() Dim cn1 As New ADODB.Connection Dim sql As String If txtSigla = "" Then MsgBox "Informe o codigo do Estado para Alterar ! " txtSigla.SetFocus Exit Sub End If If txtNome.text = "" Then MsgBox "Informe um valor para este campo !" txtNome.SetFocus Exit Sub End If cn1.ConnectionString = "Provider=ZStyle IBOLE Provider;Data Source=c:\teste\Httplogs.gdb;UID=sysdba;password=masterkey" cn1.Open sql = "Update States Set State_Name='" & txtNome & "'" & " Where State_Code='" & UCase(txtSigla) & "'" cn1.Execute sql cn1.Close txtSigla.Text = "" txtNome.Text = "" End Sub |
Abaixo o resultado da alteração para alguns dados :
Para excluir dados basta você usar o mesmo esquema de conexão alterando somente a instrução SQL; no caso a instrução usada deverá ser um DELETE FROM com a cláusula WHERE. Ex: DELETE FROM State Where State_Code = 'SP' (exclui da tabela State todos os registros com sigla (State_Code) igula a SP)
Se você gostou do FireBird e pretente usá-lo como seu banco de dados deverá se aprofundar estudando a documentação a respeito.
Aguarde em breve mais artigos sobre o FireBird com o Visual Basic.
Pegue os códigos dos exemplos aqui : fb_vb.zip
Referências: