![]() |
uso desde delphi de un procedure de IB
Hola,
Después de un tiempo, he conseguido programar en Interbase 7 procedimientos con variables de entrada o externas, que te piden un valor antes de ejecutarte el procedimiento. Esto me funciona perfectamente, pero no consigo, a pesar de las explicaciones que me habeis ido dando en este foro, hacerlo funcionar desde el delphi 6, pasandole ese valor desde un campo, donde lo inserte el usuario antes de ejecutarlo. Mi procedimiento devuelve registros que se imprimen directamente en un report, no se muestran en un DBGrid. El mismo procedimiento, sin necesidad de usar esa variable externa lo tengo en la misma aplicación funcionando correctamente. Para ello estoy usando un TIBDataSet, y llamo al procedimiento como si fuese una tabla más de mi base de datos, pero con el procedure que requiere la variable de entrada, me da error, si lo configuro de la misma manera, diciendome que no encuentra ese procedure, y lo tengo en la base de datos, y está bien escrito el nombre de este en el codigo SQL de la propiedad SelectSQL del IBDataSet. Alguien puede ponerme un ejemplo de uso de procedimientos en delphi, con toma de datos desde un campo de la aplicacion para pasarselo a esta variable? Muchas gracias como siempre, por todo. Virginia |
Espero que sirva, creo que intentas usar un procedimiento asignandole los valores a los parametros como si fuera una asignación de campos, yo tambien lo intente una vez y no anduvo, pero si lo hago con ParamByName('..').As... si funciona, tanto para asignar como para leer los valores. Ahora bien si el procedimiento devuelve un conjunto de filas lo mejor es usarlo dentro de un IBQuery
|
Hola,
Como comentaba al principio, estoy usando un TIBDataSet, como si fuese un query. Lo he solucionado, creando y filtrando la tabla de clientes por el valor que se escribe en el campo TEdit, de modo que esa tabla sólo me muestre el registro que para este cliente tengo. He relaccionando las dos tablas, (conectando el Datasource del TIBDataSet del procedimiento, con el dataSource de la tabla de clientes), y luego llamando a mi procedimiento, como si de una tabla de mi base de datos se tratase, dentro del selectSQL de las propiedades del TIBDataSet, esto es: Cita:
de manera que este procedimiento sólo me muestre los registros que en el campo cnic del procedimiento, tengan el mismo valor que hay en el campo nic de la tabla clientes. El caso es que esto me funciona, pero yo sé que objetos como el IBStoredProc me permitirían hacer esto mismo, pasandole a mi base de datos, de alguna forma, el valor para la variable input de entrada, desde el delphi, descargando al PC cliente de los calculos que esto conlleva. Por eso lo que pido, es que si es posible, un ejemplo sencillo, con código, de como hacer esto, de como configurar este objeto, o como montarlo, para, a partir de ahí trabajar en casos más complicados, pero sabiendo como funciona. Por desgracia la documentación que he conseguido al respecto de este tema no me es suficiente, y aunque me han orientado, la ayuda recibida hasta ahora, no ha sido suficiente para que haya conseguido poner en funcionamiento una consulta a un procedimiento, con parametro de entrada. Muchas gracias, por todo a todos, Virginia |
La franja horaria es GMT +2. Ahora son las 09:01:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi