FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
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 |
#2
|
|||
|
|||
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. |
#3
|
||||
|
||||
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. |
#4
|
|||
|
|||
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. |
#5
|
||||
|
||||
Sinceramente no sé porqué te molestas en hacer una aplicación en tres capas, cuando desde el mismo cliente estás especificando sentencias SQL a ejecutar sobre la base de datos. Le quitas todo el sentido a las aplicaciones multicapa (abstracción de la base de datos en el cliente).
Si no tienes inconveniente en hacer eso, no veo porqué no ejecutas directamente el procedimiento almacenado en el mismo cliente.
__________________
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 19:34:47. |
#6
|
|||
|
|||
Lo que tu digas, me vas a decir tu ahora como se programa en multicapas, y mas en delphi y con datasnap.
Debo de estar confundido, como el Sr. Ian Marteens en su libro explicandolo. Gracias a todos de nuevo por la ayuda, hasta la proxima. |
#7
|
||||
|
||||
Hasta la próxima, amigo, y regresa cuando tengas otro problema
|
#8
|
||||
|
||||
Puesto que tienes el libro de Marteens, te invito a leer la página 766, ahí tienes la forma correcta de ejecutar un procedimiento almacenado en una aplicación multicapa : "Extendiendo la interfaz del servidor".
Además también te invito a que me referencies donde el señor Marteens sugiere que sea una buena práctica de programación el especificar sentencias SQL en el mismo cliente.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
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 |
|