Tenho uma base onde possuo um campo ENUM, como EDITAR, CANCELAR e NULL, onde preciso atualizar dois campos, o tipo de remessa e qual o status a executar, a ordem na base e remessa_etapaDaEntrega(varchar) e processamentoPendente(enum)
Por que se uso desta maneira na sequencia da base, funciona:
// xPENDENTE = EDITAR, CANCELAR, SPAC(08)
IF EMPTY(ALLTRIM(xPENDENTE))
DTLIMPA := [`processamentoPendente` = NULL ]
ELSE
DTLIMPA := [`processamentoPendente`=']+ALLTRIM(xPENDENTE)+[' ]
ENDIF
cQuery := [UPDATE `agille54_api`.`sulamerica_remessas` ] + ;
[SET `remessa_etapaDaEntrega`=']+ alltrim(cStatus)+[' , ]+ DTLIMPA + ;
[WHERE `remessa_chaveExternaRemessa`=']+ ALLTRIM(xREGISTRO)+ [' ]
Agora se eu inverte para campo processamento pendente e remessa :
// xPENDENTE = EDITAR, CANCELAR, SPAC(08)
IF EMPTY(ALLTRIM(xPENDENTE))
DTLIMPA := [`processamentoPendente` = NULL ]
ELSE
DTLIMPA := [`processamentoPendente`=']+ALLTRIM(xPENDENTE)+[' ]
ENDIF
cQuery := [UPDATE `agille54_api`.`sulamerica_remessas` SET ] + DTLIMPA +[ , ] + ;
[`remessa_etapaDaEntrega`=']+ alltrim(cStatus) + [' ] + ;
[WHERE `remessa_chaveExternaRemessa`=']+ ALLTRIM(xREGISTRO)+ [' ]
Da esse erro:
Error WINOLE/1007 [ma-3.1.12][10.5.10-MariaDB]Unknown column 'EDITAR' in 'field list' (0x80040E14): Microsoft OLE DB Provider for ODBC Drivers (DOS Error -2147352567)
Called from ->WIN_OLEAUTO:EXECUTE(0)
Called from ->MUDA_STATUS_UM_SULAMERICA(661)
Called from ->(b)ABRIR_PORTAL_SULAMERICA(579)
Called from ->HBUTTONEX:ONCLICK(407)
Called from ->(b)HBUTTONX_NEW(319)
Called from ->ONDLGCOMMAND(477)
Called from ->(b)(_INITSTATICS00003)(0)
Called from ->HDIALOG:ONEVENT(208)
Called from ->HWG_DLGBOXINDIRECT(0)
Called from ->HDIALOG:ACTIVATE(149)
Called from ->ABRIR_PORTAL_SULAMERICA(599)
Called from ->(b)TELAPRINCIPAL(270)
O mais interessante que no Heidi funciona das duas maneiras.
Ja reli o código, para ver se não tinha nada errado, reescrevi, copiei do Heidi, e nada...
Fica aqui minha duvida do porque...