存储过程中的输出参数,并使用sqlparameter对象在c#中检索它

问题描述:

我编写了一个存储过程,通过它我已经传递了三个输出参数。

如何在c#中的windows应用程序中检索这些输出参数值?



我试图通过 sqlparameter 对象检索它但是生成错误

'参数@return不包含参数对象'。



所以请任何人告诉我怎样才能从

SqlParameter object或 SqlParameterCollection object。





I have written a stored procedure through which I have passed three output parameters.
How can I retrieve these output parameter values in windows application in c#?

I tried to retrieve it through sqlparameter object but there is an error generated
'the parameter @return does not contain in parameter object'.

So please any one tell me how can I retrieve the three output parameter form c# with
SqlParameter object or SqlParameterCollection object.


Alter procedure str_com
(
@id int,
@comid int output,
@brid int output
)
as

begin
select @comid=cid,@brid=bid from t1 where id=@id
end





如何检索 @comid @brid 在c#中带有 SqlParameter 对象或 SqlParameterCollection 对象。



谢谢



how can I retrieve @comid and @brid in c# with SqlParameter object or SqlParameterCollection Object.

thanks

我发现此链接非常有用。



http://*.com/questions / 706361 / getting-return-value-from-stored-procedure-in-c-sharp [ ^ ]
I found this link very helpful.

http://*.com/questions/706361/getting-return-value-from-stored-procedure-in-c-sharp[^]


CREATE PROCEDURE [dbo].[GetFruitName]
      @FruitId INT,
      @FruitName VARCHAR(30) OUTPUT
AS
BEGIN
      SET NOCOUNT ON;
     
      SELECT @FruitName = FruitName
      FROM Fruits
      WHERE FruitId = @FruitId
END







using (SqlCommand cmd = new SqlCommand("GetFruitName", con))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@FruitId", int.Parse(txtFruitId.Text.Trim()));
            cmd.Parameters.Add("@FruitName", SqlDbType.VarChar, 30);
            cmd.Parameters["@FruitName"].Direction = ParameterDirection.Output;
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            TextBox1.Text =cmd.Parameters["@FruitName"].Value.ToString();
        }