c#如何调用有两个输入参数及一个输出参数的存储过程
时间: 2024-11-22 09:42:26 浏览: 11
在 C# 中,要调用具有两个输入参数和一个输出参数的 SQL 存储过程,你可以使用 `SqlConnection`、`SqlCommand` 和 `SqlDataReader`。首先,你需要创建一个连接到数据库的 `SqlConnection` 对象,然后创建一个 `SqlCommand` 对象,并设置其 CommandText 属性为存储过程的名称。接下来,你可以添加输入参数:
```csharp
using System.Data.SqlClient;
// 假设你的存储过程名为 ProcWithTwoInputsAndOneOutput,输入参数分别为Param1和Param2,输出参数为@Result
string connectionString = "your_connection_string_here";
string procedureName = "ProcWithTwoInputsAndOneOutput";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(procedureName, connection);
// 添加输入参数
SqlParameter param1 = new SqlParameter("@Param1", SqlDbType.VarChar) { Value = "input_value_1" };
SqlParameter param2 = new SqlParameter("@Param2", SqlDbType.Int) { Value = 42 };
command.Parameters.Add(param1);
command.Parameters.Add(param2);
try
{
// 打开连接并执行存储过程
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// 遍历返回的结果集
while (reader.Read())
{
// 如果有输出参数,可以在循环中处理它
if (reader.HasRows)
Console.WriteLine($"Output parameter: {reader.GetValue(0)}");
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine($"Error executing stored procedure: {ex.Message}");
}
finally
{
connection.Close(); // 关闭连接
}
```
阅读全文