Fórum Erro de Sintaxe #180716
08/09/2003
0
adocommand1.CommandText := ´Update Tabvendas set Statusmesa =´´Cancelado´´ where codvendas = (´´´+edit2.text+´´´) and statusmesa=´´Aberta´´´;
adocommand1.Execute;
Está dando um erro de tipo de dados incompativeis na expressão do critério, eu sei q o erro vem do edit2 pq se eu troco e coloco algum valor inteiro como 1 ou 2 o código funciona bem.
Abraços a Todos
Shuljenko
Curtir tópico
+ 0Posts
08/09/2003
Vinicius2k
de acordo com o q vc informou seu campo codvendas eh inteiro, certo?
então vc precisa converter o texto do edit para inteiro : (´´´+StrToInt(edit2.text)+´´´)...
espero ter ajudado...
Gostei + 0
08/09/2003
Shuljenko
Tipos Incompativeis, String and Integer..
Gostei + 0
08/09/2003
Vinicius2k
seu campo codvendas é de que tipo ?
se for inteiro vc precisa passar inteiro e se for string vc precisa passar string... não entendo o motivo do erro...
o melhor mesmo pra evitar confusão nas aspas, quase sempre são elas que causam os problemas, eh vc criar parâmetros na sua query...
por exemplo : crie um parametro chamado ´codigo´ e defina seu ´DataType´ para o tipo do seu campo ´codvendas´... ficaria mais ou menos assim :
espero ter ajudado...
Gostei + 0
08/09/2003
Shuljenko
adocommand1.CommandText:= ´Update Tabvendas set Statusmesa =´´Cancelado´´ where codvendas = :codigo and statusmesa=´´Aberta´´´;
adocommand1.Parameters.ParamByName(´codigo´).Value:= edit2.text;
adocommand1.Execute;
Muito Obrigado Pela ajuda!
sem mais,
Igor
kaweb@terra.com.br
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)