![]() |
![]() |
![]() |
![]() |
![]() |
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
|
||||
|
||||
![]() Hola a tod@s:
No sé si es aquí donde debo dejar mi mensaje, pero supongo que sí. A ver si alguno me puede hechar un cable, por que no consigo que me funcione un Procedimiento Almacenado. Trabajo con Delphi 7 y con Interbase 6.0. El procedimiento lo cree de la siguiente manera: Código:
set term ^; create procedure prvsoli2(exp integer) returns (timp decimal(12,2)) as begin select sum(imp) from expeprv where exp= :exp into :timp; end ^ set term ;^ Código:
// Llamo al procedimiento de Cálculo DM.IBP.ParamByName('EXP').AsInteger := StrToInt(idKey.Text); DM.IBP.ExecProc; showmessage(DM.IBP.FieldByName('TIMP').AsString); ![]() Prové el procedimiento en el SQL de IBConsole y tampoco me devuelve nada. Entonces lo siguiente que hice fue Instalarme Interbase Servidor que viene con Delphi, el 6.5. Prové el procedimiento en el IBConsole y me devolvía el valor, pero cuando lo pruebo en Delphi no va, sigue sin devolverme nada. No sé que es lo que estoy haciendo mal, y no sé porque en Interbase 6.0 no funciona. También me cree otro procedimiento parecido al anterior pero sin usar la instrucción SUM, por si fuera por eso pero nada tampoco me funcionaba. Si alguien me puede dar una idea de por donde van los tiros... |
#2
|
||||
|
||||
Hola,
prueba a poner la siguiente línea antes de salir del procedimiento (antes del end ^) Código:
suspend; |
#3
|
||||
|
||||
Gracias Kinobi!
He probado a poner el suspend y me funciona el procedimiento en el IBConsole ![]() ![]() Saludos! |
#4
|
||||
|
||||
Cita:
De todas formas, ese AsString de ... Código:
DM.IBP.FieldByName('TIMP').AsString Saludos. |
#5
|
||||
|
||||
De nuevo gracias Kinobi por tu interes.
![]() Cita:
Código:
if not DM.trPrv.InTransaction then DM.trPrv.StartTransaction; DM.IBP.ParamByName('EXP').AsInteger := StrToInt(idKey.Text); DM.IBP.ExecProc; DM.trPrv.Commit; Debe := DM.IBP.FieldByName('TIMP').AsFloat; ![]() Saludos! |
#6
|
||||
|
||||
Cita:
Código:
Debe := DM.IBP.FieldByName('TIMP').AsFloat; Código:
Debe := DM.IBP.ParamByName('TIMP').AsFloat; Saludos |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|