![]() |
![]() |
| 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
|
||||
|
||||
|
No, no, jejeje
no podemos rendirnos tan rápido.Veamos, qué tipo de campos son "modificar" y "referencia", varchar, char, integer, etc. ????
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
Vale, acabo de modificarlo desde el ibexpert sin problemas, pero desde el ClientDataSet no lo consigo, no se como mandarle el commit.
|
|
#3
|
||||
|
||||
|
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 |
|
#4
|
||||
|
||||
|
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). |
|
#5
|
||||
|
||||
|
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 |
|
#6
|
|||
|
|||
|
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. |
|
#7
|
||||
|
||||
|
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. |
![]() |
| 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 |
|