![]() |
![]() |
| 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
|
|||
|
|||
|
Vale, acabo de modificarlo desde el ibexpert sin problemas, pero desde el ClientDataSet no lo consigo, no se como mandarle el commit.
|
|
#2
|
||||
|
||||
|
Y el datasetprovider que usas supongo que está asociado a un componente de base de datos y el componente de base de datos estará asociado a un componente transaction.
La ruta sería esta: datasetprovider.database.transaction.commit
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
El ClientDataset no es el componente más adecuado para ejecutar procedimientos almacenados de actualización.
Un ClientDataset es para mantener un conjunto de registros en memoria, modificarlos y devolverlos a la base de datos. Los componentes que utilizas para el acceso a Firebird seguro que tienen un control adecuado para ejecutar procedimientos almacenados de actualización.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#4
|
||||
|
||||
|
Hola.
Concluyendo ... Usa el TpFibStoredProc para ejecutar el procedimiento almacenado. A este componenente le asocias un TpFibTransaction que es al que le tienes quje hacer el commit o poner el TpFibStoredProc en autocomit. Saludos |
|
#5
|
|||
|
|||
|
Hola, ya lo conseguí, ha sido un fallo de novato e inutil.
Tenia que implementar el commit en el servidor de capa intermedia en el evento AfterExecute de su datasetprovider, igual que tengo el AfterApplyUpdates. El clientdataset sirve perfectamente para ejecutar procedimientos almacenados. Gracias a todos. |
|
#6
|
||||
|
||||
|
Nadie dice que no sirva, pero nunca se diseñó para eso. Como el mismo nombre indica, el ClientDataset es para mantener un Dataset (conjunto de registros) en memoria, en la parte cliente de tu aplicación (y para actualizar sus modificaciones).
Solo tienes que leer lo que dice al respecto la documentación de Delphi : Cita:
Naturalmente puedes utilizarlo para otros menesteres, y hasta cabe la posibilidad de que incluso te funcione. Pero se trabaja mejor si utilizas la herramienta adecuada para cada tarea. Por ejemplo, matar mosquitos a cañonazos no siempre es buena idea, por divertido y atractivo que pueda parecer en un principio.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 25-05-2010 a las 16:46:31. |
|
#7
|
|||
|
|||
|
Dime otra manera de llamar a un procedimiento almacenado a través de mi Servidor de Capa Intermedia y si veo que es mejor que la que tengo la cambio sin problemas, siempre es bueno saber cosas nuevas y mejores.
Pero un clietdataset sirve para mas cosas que meter cosas en memoria, en un servidor de capa intermedia es el clientdataset quien interactura con el y manda los cambios a la BD, para eso tiene la propiedad commandtext, pero bueno, que cada uno haga lo que quiera. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Procedimiento Almacenado | rruffino | Conexión con bases de datos | 1 | 25-04-2007 18:52:51 |
| Procedimiento Almacenado | egostar | Firebird e Interbase | 4 | 15-12-2006 02:04:07 |
| Procedimiento Almacenado | pichi Vignola | Firebird e Interbase | 2 | 17-08-2006 01:07:38 |
| Procedimiento Almacenado | scooterjgm | Conexión con bases de datos | 5 | 18-01-2005 18:21:32 |
| procedimiento almacenado | haron | Firebird e Interbase | 2 | 29-09-2003 01:09:56 |
|