[Lazarus-es] SQLQuery y params

José Mejuto joshyfun en gmail.com
Mie Jun 22 19:37:16 CEST 2011


Hello Giuseppe,

Wednesday, June 22, 2011, 5:38:22 PM, you wrote:

>> El ApplyUpdate se usa cuando lo hace a través de un DataSource, no
>> cuando trabajas con un Query.
GL> Entonces el ApplyUpdates es para cuando se usa controles DB-aware no?

Básicamente.

GL> Entonces, qué soléis usar? Un query para selects, y otro para inserts,
GL> delete etc..cambiando el SQL dependiendo de lo que vaya a hacer?

No queda más remedio. Suponiendo un SQL:

Select CLIENTES.*,PRODUCTOS.* from CLIENTES,PRODUCTOS

Al hacer un insert, donde se añade el registro ? a Clientes a
productos, a los dos ?

>> En otras palabras, es diferente si usas el Query directamente o si los
>> datos los manejas a través de un DataSource para enlazarlo con
>> controles visuales, ya que estos no entienden de Querys, tablas, etc.
GL> Por cierto, por qué me dá error en un Refresh del SQLQuery, diciendo que
GL> no se puede realizar en un Dataset Abierto? Tengo que hacer un
GL> Active:=False y Active:=True? me parece una chapuza....

Te da error por que un dataset relacionado está en edición, o
inserción. O bien no has realizado el commit/applyupdates. Cuando da
ese error normalmente es que el dataset tiene información cambiada,
modificada, nueva, eliminada, o en resumidas cuentas pendiente y por
lo tanto si se hace el refresh se pierde esa información.

-- 
Best regards,
 José





More information about the Lazarus-es mailing list