Ver Mensaje Individual
  #2  
Antiguo 30-05-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Reputación: 27
delphi.com.ar Va por buen camino
Si no me equivoco yo fui quien te sugirió usarlo, y algo te expliqué de como usarlo.
Cuando uno tiene una consulta con varias tablas relacionadas, se le hace imposible al TQuery saber de donde proviene cada dato, entonces para solucionar ese problema, existen los TUpdateSQL, que a mi parecer, son una idea fantástica. Lo que uno hace en un TUpdateSql, es decirle al DataSet qué Sql´s ejecutar para cada Insert, Update o Delete, al igual que Oracle permite crear tres trigges en una vista para que esta sea modificable.

Si tenemos el un TQuery con el sql:

Código:
SELECT T.ID, T.NOMBRE, T.DOMICILIO, T.ID_PROVINCIA, P.DESCRIPCION
FROM TRABAJADORES T, PROVINCIAS P
WHERE T.ID_PROVINCIA = P.ID
Definiremos en el TUpdateSQL asociado a este query, SQL´s similares a estos:

InsertSql
Código:
INSERT INTO TRABAJADORES
(ID, NOMBRE, DOMICILIO, ID_PROVINCIA, FECHA_ALTA, FECHA_MODIF)
VALUES
(:ID, :NOMBRE, :DOMICILIO, :ID_PROVINCIA, SYSDATE, NULL)
UpdateSql
Código:
UPDATE TRABAJADORES
SET NOMBRE = :NOMBRE,
DOMICILIO = :DOMICILIO, 
ID_PROVINCIA = :ID_PROVINCIA,
FECHA_MODIF = SYSDATE
WHERE ID = :ID
DeleteSql
Código:
DELETE FROM TRABAJADORES
WHERE ID = :ID
Utilizamos : + Nombre de campo, para referirnos al valor que se ha ingresado a este campo, también se puede notar el uso de otros campos no definidos en el Query al cual se le asigna una variable del motor.


Bueno, espero haber sido claro, me parece que este es un tema un poco conocido o poco utilizado, aunque existe desde las primeras versiones de Delphi, te prometo que voy a hacer un ejemplo para y lo publicaré en Internet.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita