Xharbour para Iniciantes. – Por Ruy Mauricio

 

Acessando e consultando um arquivo .FDB ou .GDB através do Xharbour.

 

(FIREBIRD 1.5)

 

Observação: Por se tratar de aprendizado para quem está realmente começando o melhor exemplo que posso dar é como fazer uma simples abertura e consulta em um banco de dados .FDB ou .GDB (Firebird). Sem gravações ou complexidades.

 

Você precisa saber:

 

1-Seu xharbour deve estar instalado corretamente, se não instalou leia e execute minha instrução de instalação básica aqui mesmo www.girashop.com.br/xharbour .

 

2-As dicas que serão apresentadas irão mostrar basicamente como consultar um GDB/FDB através do xharbour DOS, sei que você não conhece nada dos bancos novos, mas tem um único comando que você TEM que saber, que é o SELECT. Este comando é similar ao LIST ou DISPLAY do Clipper e nele mesmo tem as condições de consulta. É simples de aprender. Caso não saiba coloquei uma pequena aulinha sobre ele no fim deste documento em Anexo 1. Não precisa ler agora, pois mais tarde você vai precisar.

 

3-Preparando o Xharbour para fazer acesso ao FIREBIRD:

 

3.1 – Se você que ler um banco FIREBIRD, obrigatoriamente na maquina deve estar instalado o próprio FIREBIRD que é gratuito e se quiser pode fazer o download aqui www.girashop.com.br/xharbour/firebird.zip . Instale aceitando todos os valores padrão.

 

3.1.1 – Sei que você deve estar pensando “ihhh já complicou, tenho que instalar mais programas, e se for assim terei que instalar isto nos meus clientes, etc.

 

Saiba que esta cruz, o pessoal que trabalha com os novos bancos carregam. Com certeza você não vai precisar instalar o FIREBIRD na maquina de seu cliente, pois se seu cliente já usa um banco FDB/GDB o FIREBIRD já está instalado na maquina dele obrigatoriamente. Vai por mim, acostume-se com a idéia, pois é normal. Se Quiseres abrir um FDB/GDB sem o FIREBIRD instalado este tutorial seria bem mais complicado desnecessariamente.

 

3.2 – Provavelmente você já instalou seu Xharbour como eu falei no item 1.

 

3.3 – Faça o download destas LIBs fbclient.lib e firebird.lib, você ira gravar estas libs na pasta LIB do seu Xharbour.

 

3.4 – Ajuste o seu BAT de compilação do seu Xharbour para incluir estas LIBS na compilação. Se você não sabe como fazer isto explico no Anexo 2 ao fim deste documento.

 

3.5 – Provavelmente você já tem um Arquivo.FDB ou .GDB para consultar. É importante você testar abri-lo através dos meios convencionais para ver se seu FIREBIRD está rodando corretamente na sua máquina. Se não conseguir abrir através do IBEXPERT ou IBCONSOLE não adianta prosseguir com os testes via Xharbour. Se você não sabe nada sobre IBEXPERT ou IBCONSOLE leia o Anexo 3.

 

3.6 – Testada a abertura convencional do FDB/GDB, crie sua pasta TESTE de seu futuro aplicativo, grave nesta pasta um arquivo indispensável ao funcionamento do seu programa chamado fbclient.dll. (Mais um calo pra quem usa estas bases rsrs).

 

3.7 –  Inicie a edição do seu PRG: Veja, este exemplo mostra como ler e jogar na tela DOS, o conteúdo que você quiser do banco de dados, de acordo com o comando SELECT criado. A partir deste exemplo você poderá diversificar e a consulta do jeito que quiser na tabela que quiser. Aqui o banco que será aberto se chama ORIG.FDB e os dados que serão consultados será NOME e TELEFONE que estão na tabela CLIENTES, negritei as partes que você poderá mudar para seu arquivo.

 

#include "common.ch"

Function Main()

 ndialect := 1

 clear

 /* Connect rdbms */

 db := FBConnect("orig.fdb", "sysdba", "masterkey")

 

 if ISNUMBER(db)

    ? 'Error'

    quit

 end

 

 trans := FBStartTransaction(db)

 vteste = FBQuery(db, "SELECT nome, telefone FROM clientes", ndialect, trans)

 vx = 1

 do while FBfetch(vteste)==0

    @row()+1,00    say FBGetData(vteste,1)

    @row(),50      say FBGetData(vteste,2)

     if row() > 20    //lista 20 registros por vez e aguarda enter.

       inkey(0)

       clear

    endif

 enddo

 set curs on

FBFree(vteste)    //apaga query

FBClose(db)       //fecha db

 

return nil

 

3.8 – Se não houve erros seu EXE foi criado.

3.9 – Os warmingsambiguous reference” para algumas variáveis é normal.

3.10 – Rode seu TESTE.EXE

 

 

OBSERVAÇOES:

                       

                        *Na maquina de seu cliente precisará ter:

                                   ( FIREBIRD INSTALADO )

                                   TESTE.EXE

                                   ORIG.FDB

                                   FBCLIENT.DLL

 

*Todas as outras instalações aqui descritas são feitas apenas na maquina do programador.

 

 

ANEXO 1 – Como usar o Comando SELECT do SQL.

 

O SELECT  “puxa” informações do banco de dados do jeito que você quiser parecido com o comando DISPLAY ou LIST do Clipper

 

Exemplo 1: Obter  o conteúdo do campo NOME da tabela CLIENTES:

SELECT nome FROM clientes

 

Exemplo 2: Obter o conteúdo do campo NOME da tabela CLIENTES só para nome =  joao:

SELECT nome FROM clientes WHERE nome = ‘joao

 

Exemplo 3: Obter nome e telefone da tabela clientes só quem tem cidade igual a Belo horizonte, em ordem de nome.

SELECT nome, telefone FROM clientes WHERE cidade = ‘Belo Horizonte’ ORDER BY nome

 

 

ANEXO 2 – Incluindo as novas LIBS no BAT de compilação.

 

Tarefa chata; Se você utilizou a instalação indicada no item 1, de como instalar o xharbour, provavelmente você tem uma arquivo .BAT na pasta c:\xharbour\bin\BLD.BAT

 

Edite este arquivo e coloque no inicio dele:

 

set HB_FIRST_LIBS=fbclient.lib firebird.lib

 

 

ANEXO 3 – Utilizando IBEXPERT ou IBCONSOLE

 

Estes utilitários são para acesso direto ao Banco de dados, similar ao Dbase, Fox ou DBU, para quando voce quiser abrir o BD sem sistema.

Após instalado corretamente Firebird faça o download do IBEXPERT digitando no google “download ibexpert”.

 

 

Fim.

Ruy Mauricio de Paula Barbosa