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
|
|||
|
|||
mostrar resultado de procedimiento almacenado en delphi
Saludos a todos los miembros del foro
Estoy desarrollando una aplicación en delphi y el gestor de Base de datos que utilizo es SQL Server 2000 Tengo un procedimiento almacenado como el siguiente: CREATE procedure ejemplo @num int, @tot float output As select fecha, nombre from tabla where (numero = @num) set @tot = (select sum (monto) from tabla where (numero = @num) Ejecutando este procedimiento en el analizador de consultas, devuelve todos los valores correctamente. El código que uso en delphi es: with DataModule1.SPejemplo do begin Prepare; ParamByName('@num').AsString := Edit1.Text; ExecProc; Edit2.Text := ParamByName('@tot').AsString; end; utilizo la conexión ODBC Mi problema es el siguiente: Muestro los valores devueltos por el select en un dbgrid (hasta aqui todo bien), pero cuando deseo mostrar el valor de la variable @tot en un edit, sólo me muestra '0', no genera ningún error. No sé qué está mal o cuál es el error que estoy cometiendo. Agradezco de antemano, cualquier ayuda, comentario o referencia que puedan brindarme. Gaia |
#2
|
||||
|
||||
Yo tenía el mismo problema y lo solucioné declarando la variable como variable de salida, es decir:
Y en delphi, utilizando un componente TSDStoredProcedure (librería SQLDirect):
Si, ya se que estoy repitiendo instrucciones "Prepare" y luego Execpro seguido de un GetResults... a mi no me parece lógico que lo tenga que hacer así, pero le intenté de muchas formas y solo así es como por fin pude ver el resultado. Ojala y algún experto en el tema, pueda ilustrarme.
__________________
Última edición por ContraVeneno fecha: 27-07-2007 a las 23:32:02. |
#3
|
|||
|
|||
Gracias por la ayuda que me das y por supuesto, por responder tan rápido. Estoy averiguando acerca de TSDStoredProcedure y la librería SQLDirect, que la verdad hasta el momento no tenía idea que existía.
Otra pregunta, este error se puede deber al tipo de conexión que tengo? (ODBC), ADO tiene este problema? Gracias nuevamente. |
#4
|
||||
|
||||
SQLDirect son componentes de pago, pero los mencioné porque son los que estoy utilizando y de esa manera funciona. Esto lo mencioné tambien para que consideraras de que puede cambiar la forma de utilizarse cuando usas componentes ADO, vamos, que era solo referencia.
No se si ado tenga problemas respecto a los procedimientos almancenados, en teoría, no debería haber ningún problema cuando se configura bien la conexión y cuando todo esta bien programado.
__________________
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Procedimiento almacenado desde Delphi | hmv | MS SQL Server | 6 | 06-01-2010 23:02:05 |
Procedimiento almacenado | efelix | MS SQL Server | 7 | 21-11-2007 17:53:00 |
Procedimiento Almacenado | egostar | Firebird e Interbase | 4 | 15-12-2006 02:04:07 |
Procedimiento almacenado | LucianoRey | MS SQL Server | 2 | 23-08-2005 00:37:06 |
Mostrar valor de DBEDIT con Procedimiento Almacenado | JoanKa | Firebird e Interbase | 3 | 05-06-2005 11:10:35 |
|