[Lazarus-es] SQLQuery y params

Giuseppe Luigi Punzi glpunzi en lordzealon.com
Mie Jun 22 20:08:46 CEST 2011


El 22/06/2011 19:37, José Mejuto escribió:
> 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 ?
Ok, entonces usaré dos por dataset .... es por seguir una metodología.
>>> 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.

Pues juraría que ordenaba el refresh justo después del commit, no sé, ya 
lo revisaré.




More information about the Lazarus-es mailing list