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)
-   -   Problema con adocommand stored procedure (https://www.clubdelphi.com/foros/showthread.php?t=22246)

buffygcs 09-06-2005 21:58:31

Problema con adocommand stored procedure
 
Hola tengo un procedimiento almacenado:

CREATE PROCEDURE busca_pais
@pais_buscado varchar(5)

AS
if @pais_buscado is null
begin
raiserror('Codigo de pais con valor en blanco, Verifique!',14,1)
return
end

select setctps_desc
from setctps
where pais_code = @pais_buscado
GO

Y tengo el siguiente codigo en delphi

principal.adocommand.CommandType:= cmdStoredProc;
principal.adocommand.CommandText:= 'busca_pais';
principal.adocommand.Parameters.Refresh;

principal.adocommand.Parameters.ParamByName('@pais_buscado').Value:= pais;
principal.adocommand.Execute;
resultado:=principal.command2.Parameters.ParamValues['@RETURN_VALUE'];

El problema es que resultado siempre es "0" no se porque, intente hacer lo mismo con adoprocedure pero me dice que no se puede realizar debido a que el dataset esta cerrado :confused: , espero que alguien me pueda decir quee estoy haciendo mal, gracias

Aztaroth 09-06-2005 22:07:50

Stored Proc
 
Código Delphi [-]
CREATE PROCEDURE busca_pais 
@pais_buscado varchar(5)

AS
if @pais_buscado is null 
begin 
raiserror('Codigo de pais con valor en blanco, Verifique!',14,1)
return 
end 

  DECLARE @RESULTADO int

select @RESULTADO = setctps_desc
from setctps
where pais_code = @pais_buscado

SET @RETURN_VALUE = @RESULTADO

GO

te falta decirle al procedimiento almacenado cual es el valor a regresar, por que si no te devuelve el resultado de la ejecucion del procedimiento si no ocurre ningun error entonces devuelve 0 si no te devolvera el numero de error

buffygcs 10-06-2005 17:37:52

No puedo modificar stored procedure
 
El problema es que no puedo modificar el stored procedure ya que este es usuado por otra aplicacion ajena al programa que estoy haciendo, si corro el stored procedure en el analizador de consultas me regresa la columna correspondiente, el problema es que no se como agarrar ese resultado en una variable, alguien me podria ayudar :confused:

Aztaroth 10-06-2005 21:10:41

StoredProcedure
 
Para empezar el control que usas es un TAdoCommand que se llama adocommand todo esta bien hasta la ultima linea que veo que estas usando otro nombre diferente

principal.command2.Parameters.ParamValues['@RETURN_VALUE'];


donde se supone deberias utilizar adocommand, la otra es que te recomiendo usar mejor

resultado := principal.adocommand.Parameters.ParamByName('@RETURN_VALUE').Value;


La franja horaria es GMT +2. Ahora son las 11:01:25.

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