Clipper On Line • Ver Tópico - sql firibird lib do Rodrigo Moreno

sql firibird lib do Rodrigo Moreno

Discussão sobre SQL

Moderador: Moderadores

 

sql firibird lib do Rodrigo Moreno

Mensagempor jairfab » 18 Mar 2015 15:45

Estou fazendo teste com sql base firibird utilizando a lib e dll do Rodrigo Moreno e, não estou conseguindo obter o resultado quando utilizo campo tipo data e campo que tem valor nul, campo valor e caracteres retorna o valor normal.

Gostaria de uma dica dos colegas que tem experiencia em sql e ou utiliza esta lib.

Exemplo:

#include "common.ch"

Function main()
Local oServer, oQuery, oRow, i, x, aTables, aStruct, aKey
Local cServer := 'C:\DB\MEUBANCO.FDB'
Local cUser := 'sysdba'
Local cPass := 'masterkey'
Local nDialect := 1
Local cQuery
cls
? "Connecting..."
oServer := TFBServer():New(cServer, cUser, cPass, nDialect)

if oServer:NetErr()
   ? oServer:Error()
   quit
end

sSQL := 'SELECT NroPla,'
sSQL += 'SlDetalhe_Valor '
sSQL += 'SLDETALHE_DTCOMP '
sSQL += 'SLDETALHE_DTLAN '
sSQL += "FROM CT WHERE NroPla >'622' "
oQuery := oServer:Query( sSQL )  // VIEW

DO WHILE ! oQuery:Eof()
   oQuery:Skip()
   ?  oQuery:FieldGet( 1 ), oQuery:FieldGet( 2 ), oQuery:FieldGet( 3 ) , oQuery:FieldGet( 4 )
ENDDO

oQuery:Refresh()
oQuery:Destroy()
oServer:Destroy()

return nil

Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
Avatar de usuário

jairfab
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 243
Data de registro: 21 Mai 2007 09:43
Cidade/Estado: São Paulo, Região Leste - Suzano
Curtiu: 0 vez
Mens.Curtidas: 13 vezes

sql firibird lib do Rodrigo Moreno

Mensagempor jairfab » 19 Mar 2015 13:32

Conseguir alterando a linha 8 de nDialect := 1 para nDialect := 3

Agora eu quero fazer uma consulta envolvendo duas ou mais tabela, alguem poderia me ajudar?
Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
Avatar de usuário

jairfab
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 243
Data de registro: 21 Mai 2007 09:43
Cidade/Estado: São Paulo, Região Leste - Suzano
Curtiu: 0 vez
Mens.Curtidas: 13 vezes

sql firibird lib do Rodrigo Moreno

Mensagempor alxsts » 19 Mar 2015 13:49

Olá!

Se você lê inglês, estude pelos tutoriais SQL da w3schools: Introduction to SQL.

O link acima leva à introdução. Se preferir ir direto para a parte de Joins, acesse SQL Joins

TutoriaisSQLw3schools
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2945
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

sql firibird lib do Rodrigo Moreno

Mensagempor jairfab » 20 Mar 2015 13:29

Funcionou desta forma:
#include "common.ch"
#include "Fileio.ch" 
#define CRLF CHR(13)+CHR(10)
// Incluir as libs : fbclient.lib firebird.lib
// Na pasta onde vai chamar o programa incluir a dll:  fbclient.dll

Function Main()
ndialect := 3 //1
cls

*--- conexao com o banco ---*
db := FBConnect("C:\orig.fdb", "sysdba", "masterkey")
if ISNUMBER(db)
   ? 'Error'
   quit
end
trans:= FBStartTransaction(db)

*--- string sql ---*
cSql := "SELECT FIRST 20 PLA.NROPLA,"
cSql += " PLA.CONTA,"
cSql += " PLA.DESC2,"
cSql += " PLA.DESCRICAO,"
cSql += " SL.GLCLI_NOME,"
cSql += " SL.SLDETALHE_VALOR,"
cSql += " (coalesce(SL.SLDETALHE_DTCOMP,''))"
cSql += " FROM SLDETALHE SL"

cSql += " INNER JOIN CFPLANO PLA"
cSql += " ON SL.CFPLANO_NROPLA = PLA.NROPLA"
cSql += " ORDER BY SL.GLCLI_NOME"

vteste = FBQuery(db, cSql, ndialect, trans)

DO WHILE ( fetch_stat := FBFetch( vteste ) ) == 0
   X01:=FBGetData( vteste, 4 )
   X02:=FBGetData( vteste, 1 )
   X03:=FBGetData( vteste, 5 )
   X04:=FBGetData( vteste, 6 )
   ? X01 ,X02,X03,X04
ENDDO

set curs on
FBFree(vteste) //apaga query
FBClose(db)    //fecha db
return nil
Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
Avatar de usuário

jairfab
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 243
Data de registro: 21 Mai 2007 09:43
Cidade/Estado: São Paulo, Região Leste - Suzano
Curtiu: 0 vez
Mens.Curtidas: 13 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro