Xharbour para Iniciantes. – Por Ruy Mauricio

 

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

 

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 encontrado no site https://firebirdsql.org/.

 

 

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 – Para poder compilar seu .PRG com instruções de acesso ao FireBird, você precisar fazer uma pequena coisinha, para acessar a BIBLIOTECA adicional “hbfbird.a”. Isto é bem simples.

- Não tem mais aquela chatice de ter que alterar o .bat para compilar ou adicionar uma biblioteca. Agora, basta criar na pasta do seu projeto um arquivo chamado “hbmk.hbm” e dentro dele digite o nome da biblioteca que quer usar.

-No caso do firebird o arquivo “hbmk.hbm” deverá conter na primeira linha de forma simples o nome “hbfbird.hbc” (sem aspas e sem caminho mesmo).

-Assim o compilador (Build.bat) vai entender que utilizara esta biblioteca que já vem a partir da versão hmg343 (harbour).

 

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 –  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.

 

Function Main()

 ndialect := 1

 clear

 /* Connect rdbms */

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

 

 if ISDIGIT(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.

 

 

OBSERVAÇOES:

                       

            *Na maquina de seu cliente precisará ter:

                                   ( FIREBIRD INSTALADO )

                                   TESTE.EXE

                                   ORIG.FDB

                                  

*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 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