Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   conexxion entre query y updatesql (https://www.clubdelphi.com/foros/showthread.php?t=1030)

Irina 02-06-2003 11:31:18

conexxion entre query y updatesql
 
Hola, el otro dia pregunte como modificar los datos de una cosulta, me lo exlicaron todo muy bien y crei haberlo entendido todo, pero hoy he empezado a trabajar con el UpdateSQL como me dijeron pero no encuentro la forma de enlazar el UpdateSQL con el Query del cual recojo los datos, tampoco como le puedo pasar los parametro que quiero modificar, ni como ejecutarlo.

Siento ser un poco pesada con este tema, pero me interesa mucho saber su funcionamiento porque me parece que es muy practico y util.

Un saludo y muchas gracias.

andres1569 02-06-2003 15:19:33

Hola de nuevo:

El uso de los componentes TUpdateSQL viene explicado en la ayuda de Delphi. Básicamente debes asignar un componente de estos a la propiedad UpdateObject de un TDataSet (lo puedes asignar a un sólo Dataset, tabla o query, si luego lo asignas a otro verás que se borra dicha propiedad del anterior), y activar la propiedad CachedUpdates.

Luego haces doble click sobre el componente TUpdateSQL, te aparecerá un editor. Lo recomendable es pulsar el botón "Generate SQL" que genara las sentencias de Insert, Update y Delete correspondientes. Los parámetros que preguntabas vienen indicados mediante el nombre del campo precedido de dos puntos (:), de ahí toma los valores (los toma del Dataset al que está enlazado, por supuesto). Ten en cuenta que las sentencias Update y Delete utilizan parámetros del tipo OLD_ en la cláusula WHERE para referirse a los valores anteriores. Puedes modificar estas sentencias como desees, Delphi simplemente genera las sentencias generales, asignando todos los campos, quizás quieras retocar algo o incluso que no "toque" algún campo.

Cuando se llame al método ApplyUpdates de un Dataset, si tiene asociado un TUpdateSQL, se ejecutará el código de dichas sentencias, para cada registro se aplicará la sentencia correspondiente dependiendo de si ha sido insertado, modificado o borrado.

Bueno, espero haberme explicado.


La franja horaria es GMT +2. Ahora son las 00:19:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi