[英]How to check that a stored procedure with no return value has been executed?
[英]What is the correct and optimal way to get the return value of an executed stored procedure?
这就是我所拥有的,我只是想知道这是否是执行此操作的正确方法,如果不是,那将是最佳选择。
public static int AddPullSubscription(string connectionString)
{
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand("", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
var returnParameter = cmd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int);
returnParameter.Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
return Convert.ToInt32(returnParameter.Value);
}
}
}
catch (Exception)
{
throw;
}
}
您还可以使用ExecuteScalar
(带整数的样本)
var结果=(Int32)cmd.ExecuteScalar();
您可以尝试一下:
using (var conn = new SqlConnection(connectionString))
{
using (var sqlCmd = new SqlCommand("SEL_StoredProcedure", conn))
{
sqlCmd.CommandType = System.Data.CommandType.StoredProcedure;
//sqlCmd.Parameters.AddWithValue("@ID", Id);
sqlCmd.Connection.Open();
return cmd.ExecuteScalar() as Int32;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.