Clipper On Line • Ver Tópico - Importante sobre ADO
Página 1 de 1

Importante sobre ADO

MensagemEnviado: 29 Jan 2020 19:16
por JoséQuintas
Não lembro se usar ADO sem nada adicional, se aparecem direito as mensagens de erro.
Isso é muito importante.

Erro executando comando:-2147217900 [ma-3.1.6][10.4.11-MariaDB]You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '.CDNOME AS CADNOME, JPCADASTRO.CDENDERECO AS CADENDERECO, JPTRANSP.CDNOME AS TRA' at line 1

SELECT NFFILIAL, NFNOTFIS, NFPEDIDO, NFCOP, NFVALNOT, NFVALFRE, NFVALSEG, NFVALOUT, NFCADTRA, NFSTATUS, NFOBS1, NFINFINC, NFINFALT JPCADASTRO.CDNOME AS CADNOME, JPCADASTRO.CDENDERECO AS CADENDERECO, JPTRANSP.CDNOME AS TRANOME FROM JPNOTFIS LEFT JOIN JPCADASTRO ON JPCADASTRO.IDCADASTRO = JPNOTFIS.NFCADDES LEFT JOIN JPTRANSP ON JPTRANSP.IDTRANSP = JPNOTFIS.NFCADTRA WHERE IDNOTFIS='184725';

Called from ADOCLASS:EXECUTECMD(263)
Called from ADOCLASS:EXECUTE(227)
Called from JPNOTFISCLASS:TELADADOS(141)
Called from JPNOTFISCLASS:EXECUTE(328)
Called from PJPNOTFIS(32)
Called from DO(0)
Called from DOPRG(119)
Called from (b)RUNMODULE(88)

O erro é simples, faltou uma vírgula separando campos.
Mas sem a mensagem de erro.... talvez fosse mais complicado encontrar o erro.
Não lembro se usar ADO diretamente mostra isso.

É que de repente muitos ficam animados, e sem a mensagem podem desanimar.

Sem problemas, qualquer coisa é só avisar.

Importante sobre ADO

MensagemEnviado: 29 Jan 2020 19:21
por JoséQuintas
Em todo caso:

BEGIN SEQUENCE WITH __BreakBlock()
   Rs := ::Cn:Execute( cSql )
   lOk := .T.
ENDSEQUENCE
IF ! lOk
   cMensagem += "Erro executando comando:" + LTrim( Str( ::Cn:Errors( 0 ):Number( ) ) ) + " " + ::Cn:Errors( 0 ):Description()   
ENDIF


O erro fica na conexão, só pegar o número e a descrição do erro.