FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ok gracias de todas formas, intentare averiguar algo mas por mi cuenta.
gracias por tu tiempo. |
#2
|
||||
|
||||
Hola. No se si te sirve o no lo que te puedo decir.
Yo lo que hago es desde el el form del cliente llamo un procedimiento que esta en el dataModule que realiza la transaccion. Algo asi decis? si te sirve te digo bien como lo hago. Espero te sirva de algo, si no no importa. Saludos |
#3
|
|||
|
|||
No estaria mal saber como lo haces..
Gracias |
#4
|
||||
|
||||
Bueno, te cuento como hago.
Supongamos que tengo el frmMain frmABMproductos(altas, bajas y modificaciones) y frmAMproductos(altas y modificaciones), las bajas se hacen directamente desde el frmABMproductos, tambien tengo un DataModule para productos. Cuando desde frmABMproductos necesito hacer un alta, creo el frmAMproductos y lo muesto Showmodal (if frmAMproductos.showmodal = mrOK then), antes de eso pongo en modo insert el dataset (en mi caso desde un datasourse como lo indica la teoria de POO) hago lo que tenga que hacer en el frmAMproductos y en aceptar doy modalresult := mrOK y en frmAMBproductos tengo un if frmAMproductos.showmodal = mrOK then si entra en el bucle llamo al procedimiento, digamos, DataModule.grabar. en el DataModule.grabar hago lo necesario dependiendo los componentes de conexion. EJ: try elDataSet.CheckBrowseMode; elDataSet.ApplyUpdates; IBTransaction.Commit; // esto en mi caso except IBTransaction.Rollback; end; self.refrescar; // llama a un procedimiento que refresca algunas cosas necesarias end; Bueno, espero que me entiendas lo que trato de decirte. Saludos. Última edición por Cañones fecha: 09-04-2008 a las 18:23:14. |
#5
|
|||
|
|||
Ok Gracias,
|
#6
|
|||
|
|||
Oye Esau, como yo no trabajo con tres capas, poco te puedo decir. Pero viendo tu problema veo que tienes dos ClientDataSet, correspondientes a los DataSet de la capa intermedia. Pero, según tengo entendido, lo más adecuado sería establecer una relación maestro-detalle en la capa intermedia y usar un sólo Provider (conectado al DataSet maestro) y un sólo ClientDataSet. Este ClientDataSet contendrá a la tabla detalle como un "campo" en forma de tabla anidada. Esto es lo que colijo del tópico "master/detail relationships, multi-tiered applications" de la ayuda de Delphi.
Ojalá te sirva de algo. Bye |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con transaccion | mierda | SQL | 0 | 05-05-2007 16:23:18 |
RollBack con más de una transacción | kikodelphi | MS SQL Server | 2 | 12-10-2005 20:24:25 |
Transaccion en Tablas | Luis Castillo | Conexión con bases de datos | 2 | 12-10-2005 16:27:00 |
Problema con transaccion con IB | reina | Varios | 2 | 03-09-2005 02:40:11 |
Transaccion | Esau | SQL | 1 | 14-01-2004 10:00:34 |
|