Página 1 de 1

POSTGRESQL X XHARBOUR ( "HELP")

Enviado: 16 Ago 2007 17:18
por systemup
Boa tarde,

Por favor, será que alguem teria um prg,, exemplo de como acessar o POSTGRESQL via XHARBOUR, já estou há alguns dias,,, tentando mas não estou conseguindo... na CONTRIB PGSQL, não consegui executar nenhum dos prgs.

será que existe algum tutorial com prg, que possa seguir,, ou mesmo um exemplo prático que possa efetuar... como também a compilação...

na lib libpq.lib do postgresql, tive que rodar o executável... coff2omf.exe para aceitar a versão do compilador.. c++ 5.82, o meu postgresql é o 8.2.4-1 para windows....

se alguem souber de uma tutorial,, com exemplos práticos... ou mesmo um link,, para poder me passar agradeço...

ESTOU PRECISANDO COM URGENCIA...

OBS.. se tiver exemplos de como acessar por QUERY... agradeço também.

Cordialmente,,
wellington

xharbour 0.99.71, c++ 5.82, fhw 2.8, minigui 2.0, clipper 5.3

Enviado: 16 Ago 2007 17:49
por sygecom
Amiguinho, deixei o caminho das Pedra lah na Fivewin pra vc....

Abraços
Leonardo Machado

Enviado: 16 Ago 2007 17:55
por systemup
valeu, leonardo....


um abraço....

Enviado: 16 Ago 2007 18:38
por sygecom
caso alguem mais por aqui queira !!! segue abaixo o post !!!

Como os Colegas da Fivewin, postaram...o melhor jeito é SQLLIB...tive a honra de testar o Demo dela e realmente é o sonho de todo mundo que quer usar Mysql ou PostgreSql, se vc tem uma graninha para Investir...vale a pena,...agora se vc tiver afim de fazer uma Gambi, segue o caminho das pedra...não testei com PostgreSQL...mas é pouca alteração e deve funcionar !!!
Caminho das Pedra....
\xharbour\source\rdd\usrrdd\rdds\adordd
http://www.fivetechsoft.com/forums/view ... &start=225

http://www.fivetechsoft.com/forums/view ... b18f7b36eb

Referente aos Driver do PostgreSql:
http://www.connectionstrings.com/?carrier=postgresql
http://pgfoundry.org/projects/psqlodbc/

Vc tem que entender tmb um pouco sobre SQL, no link abaixo tem quase tudo:
http://www.postgresql.org.br/

Obs: Para Mysql ou Access, não prescissa alterar a Adordd.

Agora, pela Lib nativa do Postgresql ou Mysql.
Segue um link de comandos que devem ser enviado por query()
http://pgdocptbr.sourceforge.net/pg80/sql-commands.html

Ex:
local oQuery
local oServer
local oRow

IF MSGyesno("Atenção vc deve esta conectado ao Internet para poder baixar os Pedidos.......Deseja Continuar ?","Aviso do Sistema")
DialogoTemporal("Conectando ao Banco de Dados On-Line",)

oServer := TMySQLServer():New("localhost","root","123456") // conecta no BANCO DE DADOS
if oServer:NetErr()
IF oDlgHabla#NIL
oDlgHabla:CLOSE()
ENDIF

MSGINFO("Por Favor Verifique sua Conexão com a Internet","Aviso do Sistema")
return
else
oServer:SelectDB("dados")
if oServer:NetErr()
MSGINFO("Não achou a base de DADOS On-line")
IF oDlgHabla#NIL
oDlgHabla:CLOSE()
ENDIF
return
endif
endif

//Finaliza o dialog
IF oDlgHabla#NIL
oDlgHabla:CLOSE()
ENDIF

DialogoTemporal("Aguarde...o sistema esta verificando e Baixando os Pedidos ON-LINE ",)

oQuery:=oServer:Query("select * from pedidos")
if oQuery:neterr()
MSGINFO("Não Achou o Banco PEDIDOS")
USE TEMP.DBF EXCL // um dbf local com a estrutura
aDbfStruct := TEMP->(dbStruct())
oServer:CreateTable('pedidos', aDbfStruct) //criando a tabela on-line
SELE TEMP //fecha o DBF local
USE
endif

*******cria um novo registro**********
for t:=1 to 10 // xemplo de Incluir registro
oQuery:=oServer:Query("INSERT INTO pedidos (codigo,razao,pedido) values ('1234','leonardo','2522')")
next t
******************************

IF !FILE("TEMP.DBF") // processo ao contrario agora
aStru := oServer:TableStruct('pedidos')
DBcreate("TEMP", aStru)
ENDIF

USE TEMP.DBF EXCL //caso ela jah esteja...zero o DBF
ZAP

for i:=1 to oQuery:lastrec()
vNUM=0
oRow:=oQuery:getrow(i)
dbappend()
for e:=1 to 78
vNUM=vNUM+1
fieldput(vNUM,oRow:fieldget(vNUM)) //BAIXANDO OS PEDIDO
next e
dbcommit()
next i

**********deleta todos os registros****************
oQuery := oServer:query("TRUNCATE TABLE pedidos")
***************************************************
oQuery:Destroy()
oServer:Destroy()

DBCLOSEALL()

//Finaliza o dialog
IF oDlgHabla#NIL
oDlgHabla:CLOSE()
ENDIF
*****************************

Espero que Ajude
Boa Sorte