下面是详细的“使用C#代码获取存储过程返回值”的攻略。
1. 获取存储过程返回值
在C#中调用存储过程时,我们经常需要获取存储过程的返回值。获取存储过程返回值的方法有以下两种:
1.1 使用output参数获取返回值
在存储过程中声明一个output参数,用于返回该存储过程的返回值。在C#中,使用和调用存储过程一样的方法传递一个output参数,然后读取输出参数的值即可。
以下是使用output参数获取存储过程返回值的示例代码:
using System;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string connString = "server=.;database=testdb;uid=sa;pwd=123456";
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("myproc", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
SqlParameter returnValue = new SqlParameter("@returnValue", System.Data.SqlDbType.Int);
returnValue.Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add(returnValue);
cmd.ExecuteNonQuery();
int returnValueValue = (int)returnValue.Value;
Console.WriteLine($"The return value of myproc is {returnValueValue}");
conn.Close();
}
}
}
1.2 使用RETURN语句获取返回值
另一种获取存储过程的返回值的方法是使用存储过程中的RETURN语句。在存储过程中使用RETURN语句返回一个整数值,并在C#中找到SqlCommand对象的ExecuteNonQuery()方法的返回值即可。
以下是使用RETURN语句获取存储过程返回值的示例代码:
using System;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string connString = "server=.;database=testdb;uid=sa;pwd=123456";
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("myproc2", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
int returnValueValue = (int)cmd.ExecuteNonQuery();
Console.WriteLine($"The return value of myproc2 is {returnValueValue}");
conn.Close();
}
}
}
2. 总结
通过使用output参数和RETURN语句,我们可以很方便地获取存储过程的返回值。在使用output参数时,需要在存储过程中声明一个output参数,并使用C#中的SqlParameter对象来将其传递到SqlCommand对象中。在使用RETURN语句时,需要在存储过程中使用RETURN语句返回一个整数值,并在C#中调用SqlCommand对象的ExecuteNonQuery()方法并读取返回值即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用C#代码获取存储过程返回值 - Python技术站