Fórum problema com erro de sintaxe do insert #391760
03/12/2010
0
with DMUzina.SDSEvento do
begin
DataSet.CommandText:=('insert into evento(codop,desc,data) values(:cod,"Login de operador",:data)');
DataSet.ParamByName('cod').AsString:=EditCod.Text;
DataSet.ParamByName('data').AsString:=DateTimeToStr(now);
Execute;
end;
o problema é que está dando erro falando que a sintaxe está errada, mas, eu usei a sintaxe que aprende em minhas aulas de bd.
se alguem souber o porque disso.
obs: o campo data esta como datetime, o campo desc como text e o campo codop como integer.
estou usando dbexpress.
brigado pela atenção.
Júnior
Curtir tópico
+ 0Posts
03/12/2010
Wilson Junior
DataSet.CommandText := 'insert into evento(codop,desc,data) values(:cod,' + QuotedStr('Login de operador') + ',:data)';
Espero ter colaborado.
Gostei + 0
03/12/2010
Júnior
a mensagem de erro é a seguinte caso ela ajude a descobrir o que está errado:
Project Project1.exe raised exception class EDatabaseError with message 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'desc,data) values ('9090','Login de operador','3/12/2010 12:06>26')' at line 1'. Process stopped. Use step or run to continue.
Obrigado pela atenção.
Gostei + 0
03/12/2010
Emerson Nascimento
DataSet.ParamByName('data').AsString:=DateTimeToStr(now);
por
DataSet.ParamByName('data').AsSQLTimeStamp := DateTimeToSQLTimeStamp(now);
adicione a unit SQLTimSt à clausula uses.
Gostei + 0
03/12/2010
Júnior
Você sabe outro jeito de eu estar adicionando estes dados no bd sem ser pelo insert?
Gostei + 0
29/12/2010
Ricardo Araujo
with DMUzina.SDSEvento do
begin
DataSet.CommandText:=('insert into evento(codop, data) values(:cod, :data)');
DataSet.ParamByName('cod').AsString:=EditCod.Text;
DataSet.ParamByName('data').AsString:=DateTimeToStr(now);
Execute;
end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)