你好,你的问题是关于如何使用 C# 调用 SQL Server 存储过程并获取其输出参数的值。
首先,在 C# 中调用存储过程需要使用
SqlCommand
对象,它表示要在数据库中执行的命令,然后通过
Parameters
属性为存储过程参数添加值。在执行
SqlCommand
对象时,我们可以使用
ExecuteNonQuery
方法来执行存储过程并返回受影响的行数,或者使用
ExecuteScalar
方法来执行存储过程并返回单个值。
对于存储过程的输出参数,我们需要使用
SqlParameter
对象来表示,然后将其添加到
SqlCommand
对象的
Parameters
属性中。在执行存储过程后,我们可以使用
SqlParameter
对象的
Value
属性来获取输出参数的值。
下面是一个示例代码,它演示了如何调用存储过程并获取输出参数的值:
using (SqlConnection connection = new SqlConnection(connectionString))
SqlCommand command = new SqlCommand("stored_proc_name", connection);
command.CommandType = CommandType.StoredProcedure;
// 添加输入参数
command.Parameters.AddWithValue("@input_param_name", input_param_value);
// 添加输出参数
SqlParameter outputParameter = new SqlParameter();
outputParameter.ParameterName = "@output_param_name";
outputParameter.SqlDbType = SqlDbType.Int;
outputParameter.Direction = ParameterDirection.Output;
command.Parameters.Add(outputParameter);
connection.Open();
command.ExecuteNonQuery();
// 获取输出参数的值
int outputValue = (int)outputParameter.Value;
在上面的代码中,stored_proc_name
是要调用的存储过程的名称,@input_param_name
是输入参数的名称,@output_param_name
是输出参数的名称,input_param_value
是输入参数的值。在执行存储过程后,我们通过 (int)outputParameter.Value
获取输出参数的值。
希望这能够帮助你解决问题,如有需要可以进一步提问。