C# 存储过程返回值工作不正常
似乎没法让它工作C# 存储过程返回值工作不正常,c#,asp.net,stored-procedures,C#,Asp.net,Stored Procedures,似乎没法让它工作 SqlConnection sqlConnection1 = new SqlConnection(WebConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString); SqlCommand cmd = new SqlCommand(); sqlConnection1.Open(); cmd.CommandText = "sp_wth"; cmd.CommandType = Comman
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;
检查参数方向。它是
返回值
还是输出
参数方向.输出:该参数是一个输出参数
例如:
参数direction.ReturnValue:该参数表示存储过程、内置函数或用户定义函数等操作的返回值
范例
尝试字符串returnvalue=retval.value我在存储过程中对用户SQL
OUTPUT
关键字执行了类似的实例。在ASP.NET端,retval.Direction=ParameterDirection.Output代码>。
CREATE PROCEDURE TestSP
@b varchar(50) OUTPUT,
...
CREATE PROCEDURE TestSP
@b varchar(50)
...
return @b
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();