Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   TSQLStoredProc y parámetros ptInputOutput con SqlServer (https://www.clubdelphi.com/foros/showthread.php?t=14059)

sarackganda 08-09-2004 17:55:37

TSQLStoredProc y parámetros ptInputOutput con SqlServer
 
Tengo el siguiente store procedure en un SqlServer 2000:
Código SQL [-]
ALTER  procedure dbo.fn_LogIn (@viTerminalId Int, @viSesionRemota Int, @viResult Int Output) AS
BEGIN
  INSERT INTO SESION 
  (TERMINAL_ID, SESION_REMOTA_ID)
  VALUES
  (@viTerminalId, @viSesionRemota);

  SELECT @viResult = SCOPE_IDENTITY();
END;
Si lo ejecuto de la consola, devuelve un valor sin problemas
Código SQL [-]
declare @Result int
execute dbo.fn_LogIn 1, 2, @Result OUTPUT
select @Result

Pero intento ejecutarlo desde un TSQLStoredProc y nunca retorna un valor:
Código Delphi [-]
with TSQLStoredProc.Create(Self); do
  try
    SQLConnection := FDataBase;

    StoredProcName := 'dbo.fn_LogIn';
    Params[1].AsInteger := 1;
    Params[2].AsInteger := 999;

    ExecProc;

    ShowMessage(Params[3].AsString);
  finally
    Free;
  end;

PD: Si utilizo parámetros del tipo bigint en el store procedure, produce un EBcdOverflowException :confused:

Chagracia!

sarackganda 10-09-2004 14:21:45

Aun no pude resolver mi problema, no pretendo una solución solo me interesaría saber si alguien trabaja con esta configuración sin problemas (SqlServer+DBExpress+ptInputOutput Parameters).

Desde ya, muchas gracias!

__cadetill 10-09-2004 15:29:50

Has probado de usar algún otro componente de acceso?? ADO quizás???

Sólo para descartar componentes porque supongo que el SP funciona sin problemas si lo ejecutas directamente en SQL Server, no? :rolleyes:

PD: no trabajo ni con DBX ni SQL Server, sólo pretendo dar ideas

sarackganda 13-09-2004 14:14:16

Gracias por tu interés Cadetill, pero elegí este tipo de conexión porque estoy desarrollando una aplicación CLX, y tengo entendido que este es el tipo de conexión indicado para este tipo de proyecto. De no encotrar una solución a mi problema, probaré sobre Windows conectarme con ADO.

Nuevamente gracias, y espero algún otro comentario!

seiden 26-11-2009 17:25:44

hola, el problema es que estas invocando ExecProc

cambialo a un open, obten los datos y por ultimo dale un close, con esto puedes obtener los datos que estas buscando


La franja horaria es GMT +2. Ahora son las 23:04:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi