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
|
|||
|
|||
Como obtengo los datos con un procedimiento almacenado
Hola
He realizado un procedimiento almancenado , que funciona dentro de interbase . es un procedimiento de selección , es decir , recibe dos datos : fecha y almacen y devuelve el articulo y la cantidad . Estoy con interbase , he puesto un compenente TIBStoredProc , llamado SPStock , ligado a la base de datos , al transaction y en la propiedad StoredProcName he encontrado el procedimiento almancenado . Luego pongo un botón y pongo lo siguiente
El caso es que ligo un datasource con el TIBStoredProc , pero no hace nada , además el procedimiento tenia que tardar un rato en ejecutarse y lo hace muy rapido sin hacer nada . Me gustaria con que componentes de la paleta de interbase y se hace funcionar un procedimiento de selección , para que salgan los datos en un DBGrid. Un saludo |
#2
|
||||
|
||||
Usa un Query en lugar del TIBStoredProc. la sql igual que si fuera una tabla pero con parámetros:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Si es un procedimiento de selección, lo más sencillo es usar un tIBQuery en vez del componente tIBStoredProc.
Tendrás que asociarle el tIBQuery a un datasource enlazado con un dbgrid para ver los datos. En la propiedad SQL del tIBQuery, le pones la sentencia SELECT que necesites, le pasas los parámetros encesarios (igual que haces con el tIBStoredProc) y la abres con el método ExecSQL. Por ejemplo:
__________________
Progress Openedge https://abevoelker.com/progress_open...dered_harmful/ Delphi forever... |
#4
|
|||
|
|||
Hola
Ya me sale , ahora lo que pasa es que quiero sacar un informe con el fastreport y el problema es que el procedimiento almacenado es rápido (1'20 segundos ) tiene muchos campos que recorrer , pero el problema es que para sacar el informe tarda casi 6 minutos y el informe es de sólo 10 páginas . No entiendo como tarda tanto . El caso es que quiero enlazar el TIBQuery del procedimiento almacenado a un TClientDataSet , para que salga el informe antes . Lo que hago es unir el Provider al TIBQuery y el ClientDataSet al provider . Después de abrir el Query , pues abro el ClientDataSet , pero se queda colgado y no hace nada . Es cierto que el procedimiento almacenado hace muchas operaciones , recorre muchos campos , pero el resultado que saca , tampoco es tan grande , no más de 800 articulos , un informe como he dicho de 10 páginas , así pues creo que el informe deberia de ser rápido después de hacer el procedimiento almacenado . Sabeis a que puede ser debido esto ? Un saludo |
#5
|
|||
|
|||
Rectifico con el ClientDataSet no se queda colgado nada . Lo que pasa es que si lo pongo como he dicho el informe tarda en salirme 14 minutos , un tiempo excesivo , sin el ClientDataSet , con el Query que llama el procedimiento almacenado tarda 6 minutos en salirme el informe .
1:20 en hacer el procedimiento almacenado . Un tiempo que veo razonable , pero en preparar el informe con el FastReport que son 10 hojas , tarda hasta completar 6 minutos , un tiempo que me parece excesivo. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿como llamo un procedimiento almacenado? | jeshu252006 | Conexión con bases de datos | 6 | 28-10-2006 17:49:55 |
Acceder otra base de datos en Procedimiento Almacenado Firebird | mario_2000 | Conexión con bases de datos | 2 | 05-09-2006 16:35:27 |
Como crear un procedimiento almacenado | Javi2 | SQL | 1 | 11-02-2005 13:32:40 |
Cómo creo un Procedimiento almacenado? | Gabriel2 | Firebird e Interbase | 3 | 31-12-2004 09:02:43 |
Ejectutar Procedimiento Almacenado en otra Base de Datos | AGAG4 | Conexión con bases de datos | 2 | 20-09-2004 20:12:44 |
|