![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Podrías informarte sobre los ClientsDataset con cacheUpdates. Usas controles DBEdits asociados a ese CDS. Puedes Editar, insertar, eliminar registros, etc, pero realmente los datos no se graban a las tablas, sino que se hace en memoria.
Cuando el usuario Pulsa en Grabar, por código llamas a ApplyUpdates del CDS y en ese momento es cuando inicias la transacción, grabas los datos y despues terminas la transacción. PD: Si me equivoco, por favor corríjanme. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
||||
|
||||
|
Sick boy y Lepe:
Muchas gracias por responder tan rapido. Me quedan otras dudas. para Sick boy: Cita:
hacer que se llame a STARTTRANSACTION y seguidamente a COMMIT? Cita:
Para Lepe Cita:
Última edición por Hagen fecha: 05-07-2006 a las 15:16:02. |
|
#3
|
|||
|
|||
|
Yo personalmente te recomiendo que utilices lo siguiente:
ConsultaIB -> TDataSetProvider -> TClientDataSet En "ConsultaIB" utiliza los componentes de acceso a Interbase que prefieras (siempre que deriben de TDataset). Al usar esta "técnica" lo que consigues es que las actualizaciones se realizan en local, y cuando llamas al método "ApplyUpdates" del TClientDataset, que se encarga de iniciar la transacción, realizar todas las actualizaciones a la base de datos que sean necesarias y a continuación el commit. Sinceramente, tienes que cambiar un poco la mentalidad de cómo se realizan las actualizaciones, además de que cuando quieres realizar cambios en varias tablas a la vez en una sola transacción debes controlarlo manualmente, pero por lo demás es muy sencillo y eficaz. Documéntate sobre ello. Si mal no recuerdo hay varios ejemplos en bdn.borland.com. Y si tienes algo de dinero para invertir, cómprale a Ian Marteens uno de sus cursos a distancia (son de lo mejor para iniciarse en esto) en http://www.marteens.com |
|
#4
|
|||
|
|||
|
La solución PROVIDER + CLIENTDATASET parece muy buena, aunque yo aun no la he probado, por eso no puedo opinar.
Como en todo, la solución del PROVIDER tendrá sus ventajas y sus inconvenientes. Cita:
Por ejemplo, al crear una factura, recoges el codigo del producto y la cantidad mediante un par de edits, y luego al pulsar el boton construyes el SQL que hace la inserción. Cita:
Esto es una opinión, seguro que hay otras formas de hacerlo, y posiblemente más eficientes, pero estaba migrando un programa de PARADOX a FB, y esto es lo que me resultó más facil. Añadir que yo no utilizo IBX, uso los MDO (Mercury Database Objects), muy buenos, y libres. Y recomendarte de nuevo la Cara Oculta de Delphi 4, libro gratuito y facil de encontrar. Hay mucha información sobre las transacciones en general. Y en la cara oculta de delphi 6 hay todo un apartado sobre proveedores y modulos remotos y servidores de capa intermedia. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Las transacciones y yo | gario | Conexión con bases de datos | 5 | 16-03-2009 17:23:13 |
| Transacciones | JulioGO | Firebird e Interbase | 1 | 07-05-2006 00:46:28 |
| dudas sobre transacciones..... | inexperto | Conexión con bases de datos | 2 | 18-11-2004 20:24:31 |
| Dudas con Transacciones y Actualizaciones en Caché | cybergerman | Conexión con bases de datos | 3 | 29-09-2004 21:13:03 |
|