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
|
|||
|
|||
Error en procedimiento almacenado
hola he estado tratando de hacer un SP que verifique la existencia de un nombre y si encuentra una coincideincia me devuelva el nombre, si no lo encuentra me devuelve vacio, o sea @sp_nombre es entrada al SP y luego si ya existe ese nombre, me devuelve ese nombre en @sp_npombre como salida, si no existe ese nombre me devuelve @sp_npombre vacio.
Pero me da el siguiente error al correr la aplicacion. ALTERPROCEDURE [dbo].[SP_EXISTE_EMPRESA] -- Add the parameters for the stored procedure here @SP_NOMBRE NVARCHAR(50) OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SELECT NOMBRE FROM EMPRESAS WHERE NOMBRE = @SP_NOMBRE RETURN @SP_NOMBRE -- Insert statements for procedure here END Database Server Error: SQL State: 4200, Server ErrorCode: 201 Procedure 'SP_EXISTE_EMPRESA' expects parameter '@SP_NOMBRE', wich was not supplied. |
#3
|
|||
|
|||
Creo que lo que me da error es que al parecer cuando corro el programa, no se recibe el parametro esperado, lo que hago en el SP es volcar el valor del parametro con la instruccion RETURN @SP_NOMBRE (creo que return actua como INTO en firebird) y pasarlo a Delphi, pero no me doy cuenta que estoy haciendo mal cuando paso o recibo el parametro.
|
#4
|
||||
|
||||
En realidad RETURN en un Stored Procedure devuelve un valor entero para indicar el resultado de la ejecución (mas o menos como los .BAT del D.O.S.), si no se coloca devuelve 0.
Si lo que deseas es devolver el nombre de la empresa en una variable deberias usar algo asi:
Ahora bien en delphi tu llamada seria asi
Lo anterior usando el TADOStoredProc Espero que te ayude. Saludos Última edición por jcarteagaf fecha: 13-02-2009 a las 11:46:28. |
#5
|
|||
|
|||
gracias por la info, ya no me arroja más ese error, sin embargo ahora me tira
el siguiente error: 'SQLSPExiste_Empresa: Cursor not returned from query'. A que se debe este error, creo que puede ser por el tema de la bidireccion de los controles dbExpress, tal vez me esta faltando algun componente intermedio, desde ya gracias. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error en Procedimiento Almacenado | Alejandro73 | SQL | 1 | 20-03-2007 17:45:57 |
Procedimiento almacenado no captura error | Carlos Hurtado | Firebird e Interbase | 0 | 27-01-2007 15:07:39 |
Procedimiento Almacenado | pichi Vignola | Firebird e Interbase | 2 | 17-08-2006 01:07:38 |
Captura de error en Procedimiento almacenado | lucasarts_18 | Firebird e Interbase | 11 | 28-12-2005 15:02:42 |
procedimiento Almacenado | Gabriel A Reyes | Conexión con bases de datos | 4 | 19-06-2003 00:14:31 |
|