[Lazarus-es] tquery insertSQL

Rafael Bidegain r.bidegain en gmail.com
Mar Sep 29 20:19:01 CEST 2009


El día 29 de septiembre de 2009 15:13, JoshyFun <joshyfun en gmail.com> escribió:
> 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;
ok. muchas gracias por la explicación. con eso me alcanza para
investigar el uso de insertSQL, UpdateSQL y DeleteSQL
cuando tenga listo un ejemplo lo voy a subir al wiki para que le sirva a otros.

saludos.

-- 
Rafael Bidegain

Ya que los cuerdos no hablan, hablará el loco.
(The Fool, Padraic Pearse)




More information about the Lazarus-es mailing list