PDA

Ver la Versión Completa : Procedimiento Almacenado


scooterjgm
18-01-2005, 13:25:30
Hola a todos!!

Esty intentando ejecutar un Procedimiento almecanado desde un TSQLQuery a una base de datos en MSSQL Server 2000

FSqlQuery.Close;
FSqlQuery.SQLConnection :=MiConexion;
FSqlQuery.SQL.Clear;
FSqlQuery.SQL.Add('exec PA');
FSqlQuery.Open;

Pero me dá error al llamar a Open. Alguien sabe cómo sería o pq me lo hace??

Muchas gracias ;)

burasu
18-01-2005, 13:42:46
Bueno yo con MSSQL Server 2000 no he trabajado, solo he trabajado con Firebird / Interbase, y bueno no se si mi aporte te puede solucionar alguna duda?

Veras, en primer lugar has comprobado los permisos?? igual puede ser algo tan tonto como eso y segundo prueba en vez de usar el 'exec PA' usar 'select [parametros de salida] from pa(parametros de entrada)' puede ser que el componente el exec PA no lo reconozca en sí.

Salu2.

scooterjgm
18-01-2005, 13:50:43
Lo primero muchas gracias por dedicar tu tiempo a mi consulta.

He ejecutado la consulta 'exec PA' directamente sobre el SQL Server y el resultado fue satisfactorio. Además tengo todos los permisos necesarios en la Base de Datos.

Poniendo 'select [parametros de salida] from pa(parametros de entrada)' no funciona tampoco :(

Saludos

__hector
18-01-2005, 14:22:03
Usa un SQLCommand

maeyanes
18-01-2005, 15:48:49
En lugar de FSQLQuery.Open usa FSQLQuery.ExecSQL...

scooterjgm
18-01-2005, 18:21:32
Poniendo lo siguiente tampoco me funciona:

FQueryText := 'exec PA';
FSqlQuery.Close;
FSqlQuery.SQLConnection := MiConexion;
FSqlQuery.SQL.Clear;
FSqlQuery.SQL.Add(FQueryText);
FSqlQuery.ExecSQL; //.Open;
ShowMessage (FSqlQuery.FieldValues['IdEmpresa'].AsString);

El procedimiento no tiene parámetros de entrada.
Con el ShowMessage compruebo si obtiene datos o no.

Muchas Gracias por su ayuda.