Página 1 de 1

Pegar retorno funcao em postegrsql com sqlrdd

Enviado: 20 Abr 2021 14:33
por wjparron
Boa tarde

Uso xHarbour + SQLRdd

Não estou conseguindo chamar uma funçao da minha base de dados em postgresql e pegar o retorno
Alguem poderia me ajudar.

funcao do banco -> fnc_ret_cod_est_tbl( par1, par2, par3, par4, par5 ) : retorna varchar

chamada do programa

....
cComm := "select fnc_ret_cod_est_tbl( '00', 'orccab', '0', 'num_orc', 'F' )"
aRet :={}
oSql := SR_GetConnection()
oSql:exec( cComm, ,.t. ,@aRet)
...

Qdo chega na linha oSql:exec o aplicativo fecha sem mostrar nenhum erro

Pegar retorno funcao em postegrsql com sqlrdd

Enviado: 28 Abr 2021 09:38
por wjparron
Alguem teria uma outra opção de pegar o resultado da função com SqlRdd, seria de muita ajuda

Pegar retorno funcao em postegrsql com sqlrdd

Enviado: 28 Abr 2021 10:15
por Itamar M. Lins Jr.
Olá!
Vc está usando uma ferramenta que tem suporte comercial.
Veja se vc encontra resposta aqui nesse grupo.
https://groups.google.com/g/comp.lang.xharbour

O site está desatualizado na parte de suporte.
Os grupos incorporados não são mais compatíveis. Para ver este grupo, acesse o Grupos do Google. Saiba mais
Ou pergunta lá mesmo no xharbour.com via email, não sei como é.

Saudações,
Itamar M. Lins Jr.

Pegar retorno funcao em postegrsql com sqlrdd

Enviado: 03 Mai 2021 09:19
por wjparron
Bom dia

Para quem tiver este problema aqui, vou deixar postado a solução, resolvido por Luiz

> cComm := "select cast( fnc_ret_cod_est_tbl( '00', 'orccab', '0', 'num_orc', 'F' ) as varchar(30))"
> aRet :={}
> oSql := SR_GetConnection()
> oSql:exec( cComm, ,.t. ,@aRet)
>
> If Len(aRet) > 0
> For x = 1 to Len(aRet)
> ? aRet[x, 1]
> inkey(0)
> Next

> por ser varchar e vc não especificar o tamanho do campo ele se perde ao decodificar o retorno

[]s
Wagner

Pegar retorno funcao em postegrsql com sqlrdd

Enviado: 03 Mai 2021 12:42
por sygecom
No seu caso acredito que faltou apenas um select *
Você não estava dizendo quais Campos retornar

Pegar retorno funcao em postegrsql com sqlrdd

Enviado: 03 Mai 2021 17:34
por JoséQuintas
wjparron escreveu:select cast( fnc_ret_cod_est_tbl( '00', 'orccab', '0', 'num_orc', 'F' ) as varchar(30))"
Estranha a solução, ou a função retorna tipos diferentes conforme os parâmetros, e por isso precisou conversão.
De repente faltou algum ajuste na função.
Mas só uso MySQL, nele isso é definido dentro da função, não sei se nesse é diferente.

Pegar retorno funcao em postegrsql com sqlrdd

Enviado: 08 Mai 2021 08:20
por sygecom
[quote="JoséQuintas"Estranha a solução, ou a função retorna tipos diferentes conforme os parâmetros, e por isso precisou conversão.
De repente faltou algum ajuste na função.
Mas só uso MySQL, nele isso é definido dentro da função, não sei se nesse é diferente.[/quote]

Igual, define na FUNCTION os tipo de retorno