FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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 , espero que alguien me pueda decir quee estoy haciendo mal, gracias |
#2
|
|||
|
|||
Stored Proc
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 |
#3
|
|||
|
|||
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
|
#4
|
|||
|
|||
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; |
|
|
|