[Lazarus-es] tquery insertSQL

JoshyFun joshyfun en gmail.com
Mar Sep 29 19:14:46 CEST 2009


Hello Claudio,

Tuesday, September 29, 2009, 5:38:11 PM, you wrote:

CR> SQLQuery.sql en lugar de SQLQuery.InsertSQL, SQLQuery.DeleteSQL,
CR> SQLQuery.UpdateSQL   ?

CR> SQLQuery.sql con SQLQuery.ExecSql funciona con bien con los insert,
CR> update, delete.
CR> Francamente no se como se usan SQLQuery.InsertSQL, SQLQuery.DeleteSQL,
CR> SQLQuery.UpdateSQL ?  Por algun forum presentaban algun problema. Pero
CR> nunca las use.

Los SQLQuery.InsertSQL, etc, son para cuando estás modificando un
dataset con un control visual como un dbgrid a menos que el select sea
muy simple (Select * from XXX) el control visual no sabrá como hacer
el insert, por lo tanto tenemos que darle una nueva sentencia SQL que
usará en el caso de las inserciones.

Un ejemplo, tenemos un dbgrid que rellenamos con un select tal que
así:

Select * from T1 inner join T2 on T1.code=T2.Code

No hay forma de saber como hacer un insert ahí, ya que los datos
pueden ser cosa sólo de T1, o tener que ir cosas a ambas tablas, así
que creamos un insertSQL con algo parecido a esto:

INSERT INTO T1 (Number,Code) values (:Number,:Code);

Sin añadir nada a T2 en este caso claro.

-- 
Best regards,
 JoshyFun





More information about the Lazarus-es mailing list