Problema com UPDATE de uma tabela no SQL

Boa tarde,

Estou tentando fazer um UPDATE de dados em uma tabela do SQL.

Para isso o operador da dois cliques no E3Browser, com isso abre uma janela com os campos para editar.

Nisso eu pego a data da linha em que o operador clicou para usar no WHERE do SQL.

Script do e3browser:

Sub E3Browser2_DblClick()

Dim Arg(3)

Arg(0) = GetColumnValue(0)	'Data
Arg(1) = GetColumnValue(1)	'Condicao
Arg(2) = GetColumnValue(2)	'Motivo
Arg(3) = GetColumnValue(3)	'Desccricao

Application.DoModal "BDA_Telas.Popup_Auxiliar.Editar_Reg", , , , , , Arg, 2+16+2048

End Sub

Scripts da tela:

Sub Editar_Reg_OnPreShow(Arg)

Item("TX_Data").Value 		= Arg(0)
Item("TX_Condicao").Value 	= Arg(1)
Item("TX_Motivo").Value 	= Arg(2)
Item("TX_Descricao").Value 	= Arg(3)

End Sub

Sub Editar_Reg_OnHide()

Set Consulta = Item("Consulta1")
Consulta.SetVariableValue "VarTime", CDate(Item("TX_Data").Value)
Consulta.SetVariableValue "Condicao", Item("TX_Condicao").Value
Consulta.SetVariableValue "Motivo", Item("TX_Motivo").Value
Consulta.SetVariableValue "Descricao", Item("TX_Descricao").Value
Consulta.Execute

End Sub

SQL:

UPDATE BDA_SAlm
SET Condicao = <%Condicao%>, Motivo = <%Motivo%>, Descricao = <%Descricao%>
WHERE E3TimeStamp = #<%VarTime%>#

image

Erro no SQL:

23023 2020-03-19 15:42:10.691 0x2680 0x2C6C ADOROWSET SQL string = UPDATE BDA_SAlm
SET Condicao = teste, Motivo = 1, Descricao = 2
WHERE E3TimeStamp = ‘2020-03-19 13:41:05.013’ - error(80040E14) DB_E_ERRORSINCOMMAND 14

Gabriel,

Variáveis do tipo String devem ser colocadas entre aspas simples. Experimente assim:

UPDATE BDA_SAlm
SET Condicao = '<%Condicao%>', Motivo = <%Motivo%>, Descricao = <%Descricao%>
WHERE E3TimeStamp = #<%VarTime%>#
1 Like

Funcionou, Obrigado.

1 Like