Array
(
)

Retornar o Valor Stored Procedure no Delphi.net

Jfcarlos
   - 08 set 2004

Olá, pessoal eu estou desenvolvendo uma aplicação em delphi.net usando o asp.net com acesso ao banco de dados SQLServer2000, mas estou com um pequeno problema, eu consigo executar a stored procedure para incluir um produto, mas eu gostaria de receber o retorna para saber se o produto foi cadastrado.

Como eu faço?

Ex. Inclusão de Banco

bdpSP.CommandType := CommandType.StoredProcedure;
bdpSP.CommandText := ´SP_GRVALT_BANCO´;

bdpsp.ParameterCount :=3;

bdpsp.Parameters.Add(´@intCodigo´,DbType.string, 0);
bdpsp.Parameters.Add(´@strBAnco´,DbType.String, 0);
bdpsp.Parameters.Add(´@strHome´,DbType.String, 0);
bdpsp.Parameters.Add(´@saida´, DbType.String, 0);

bdpsp.Parameters[´@intCodigo´].Value := ´377´;
bdpsp.Parameters[´@strBAnco´].Value := ´BANCO DO BRASIL S/A´;
bdpsp.Parameters[´@strHome´].Value := ´www.BB.com´;

bdpSP.Connection.Open;
bdpsp.Prepare;
bdpSP.ExecuteNonQuery();


//Aqui eu não consigo receber o retorno da stored procedure
strsaida := convert.ToString(bdpSP.Parameters[´@saida´].Value);


bdpSP.Connection.Close;


Bon Jovi
   - 08 set 2004

A propriedade Direction do Parameters deve estar setado para Output. Verifique se pode ser isso.

Exemplo em C# com a classe sqlCommand:


Citação:
this.sqlCommand1.Parameters[´@saida´].Direction = System.Data.ParameterDirection.Output;



Jfcarlos
   - 10 set 2004

Max precision is 0 for OUT parameter. Set Precision property for the parameter.

Estou dias tentando fazer a procedure retornar o valor. Acho que a borland deveria disponibilizar material para nós.


Bon Jovi
   - 11 set 2004

Nao uso BDP, mas vou tentar te ajudar no chute... Pelo q a msg diz pode ser que a precisão do parametro nao esteja setada. Qual tipo do campo/variavel da base vc ta retornando? Por exemplo, se for NUMERIC(15) ou DECIMAL(15), deveria setar a precisao assim:

this.sqlCommand1.Parameters[´@saida´].Precision = 15;
this.sqlCommand1.Parameters[´@saida´].Direction = System.Data.ParameterDirection.Output;

Vê em tempo de design as propriedades basicas do Parameters pra vc avaliar melhor o q pode faltar.


Jfcarlos
   - 11 set 2004

Cara valeu!!, pela ajuda. É isso mesmo, mas eu estou trabalhando com uma string, quando ele cadastra a stored procedure retorna ´OK´ ou ´Falha´. Coloquei a precison com 7 e deu certo muito obrigado mesmo.....

É bom sempre contar com ajuda deste forum..