sql server stored procedure output parameter c#

你好,你的问题是关于如何使用 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 获取输出参数的值。

希望这能够帮助你解决问题,如有需要可以进一步提问。

  •