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