存储过程返回值不能正常工作

本文关键字:工作 常工作 返回值 不能 存储过程 | 更新日期: 2023-09-27 18:04:12

似乎不能让这个工作。

SqlConnection sqlConnection1 = new SqlConnection(WebConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString);
SqlCommand cmd = new SqlCommand();
sqlConnection1.Open();
cmd.CommandText = "sp_wth";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter retval = cmd.Parameters.Add("@b", SqlDbType.VarChar);
retval.Direction = ParameterDirection.ReturnValue;
cmd.Connection = sqlConnection1;
cmd.ExecuteNonQuery();
string returnvalue = (string)cmd.Parameters["@b"].Value;
lblStatusMessage.Text = returnvalue;

存储过程返回值不能正常工作

SqlConnection con = new SqlConnection("connection string");
con.Open();
SqlCommand cmd = new SqlCommand("exec sp_wth", con);
cmd.Parameters.Add(new SqlParameter("@b", value));
cmd.ExecuteNonQuery();
con.Close();

检查ParameterDirection。是ReturnValue还是Output ?

ParameterDirection。Output:该参数是一个输出参数

例子:

CREATE PROCEDURE TestSP
@b varchar(50) OUTPUT,
...

ParameterDirection。ReturnValue:参数表示操作(如存储过程、内置函数或用户定义函数)的返回值。

CREATE PROCEDURE TestSP
@b varchar(50)
...
return @b