[Lazarus-es] tquery insertSQL
JoshyFun
joshyfun en gmail.com
Mar Sep 29 20:13:58 CEST 2009
Hello Rafael,
Tuesday, September 29, 2009, 7:25:30 PM, you wrote:
RB> podrías indicarme como ejecutar esta linea seteando:
RB> SQLQuery1.InsertSQL.Add('INSERT INTO T1 (Number,Code) values (:Number,:Code)');
RB> yo obtengo "sql statement not set" cuando ejecuto
RB> SQLQuery1.ExecSQL;
Hace algunos meses que no ando con el SQL así que la sintaxis puede
estar mal :( pero SQLQuery1.ExecSQL SIEMPRE ejecuta lo contenido en
SQLQuery1.SQL los UpdateSQL, InsertSQL y DeleteSQL son para ser usados
por el dbgrid y otros automáticamente, no son para que tu los llames
por código manualmente.
Por ponerlo de otro modo, InsertSQL sólo se ejecutaría si existiera un
método "SQLQuery1.Insert" cosa que no existe.
Básicamente lo que hace un dataset cuando tiene que hacer un insert
es:
if SQLQuery1.InsertSQL<>'' then begin
OldSQL:=SQLQuery1.SQL;
SQLQuery1.SQL:=SQLQuery1.InsertSQL;
for j:=0 to pamaters do begin
//set paramenters
end;
SQLQuery1.ExecSQL;
SQLQuery1.SQL:=OldSQL;
end;
--
Best regards,
JoshyFun
More information about the Lazarus-es
mailing list