下面是详细的攻略:
获取存储过程返回值和输出参数值的方法
存储过程返回值与输出参数概述
在使用 C# 调用存储过程时,往往需要获取存储过程的返回值和输出参数的值。其中,返回值是存储过程完成操作后返回的整数值,而输出参数是从存储过程中返回的数据值。在 C# 中,可以使用 SqlCommand 类的 ExecuteNonQuery() 方法来执行存储过程,并通过 SqlParameter 对象获取存储过程中的输出参数值和返回值。
获取存储过程返回值的方法
以下是获取存储过程返回值的方法:
-
在存储过程中使用 RETURN 关键字返回一个整数值。
sql
CREATE PROCEDURE GetResult
AS
BEGIN
DECLARE @Result INT
...
SET @Result = ...
RETURN @Result
END -
在 C# 中,定义一个 SqlParameter 对象,并将它的 ParameterDirection 属性设置为 ReturnValue。
```csharp
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand("GetResult", connection))
{
command.CommandType = CommandType.StoredProcedure;SqlParameter returnValue = new SqlParameter(); returnValue.Direction = ParameterDirection.ReturnValue; command.Parameters.Add(returnValue); connection.Open(); command.ExecuteNonQuery(); int result = Convert.ToInt32(returnValue.Value); ... }
}
```
获取存储过程输出参数的方法
以下是获取存储过程输出参数的方法:
-
在存储过程中定义一个输出参数,使用 OUT 或 OUTPUT 关键字声明。
sql
CREATE PROCEDURE GetResultWithOutput
@Input INT,
@Output INT OUT
AS
BEGIN
...
SET @Output = ...
END -
在 C# 中,同样定义一个 SqlParameter 对象,并将它的 ParameterDirection 属性设置为 Output。
```csharp
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand("GetResultWithOutput", connection))
{
command.CommandType = CommandType.StoredProcedure;SqlParameter inputParameter = new SqlParameter("@Input", SqlDbType.Int); inputParameter.Direction = ParameterDirection.Input; inputParameter.Value = input; SqlParameter outputParameter = new SqlParameter("@Output", SqlDbType.Int); outputParameter.Direction = ParameterDirection.Output; command.Parameters.Add(inputParameter); command.Parameters.Add(outputParameter); connection.Open(); command.ExecuteNonQuery(); int output = Convert.ToInt32(outputParameter.Value); ... }
}
```
至此,我们就讲解了如何在 C# 中获取存储过程的返回值和输出参数值,并提供了两个示例方便大家学习。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#获取存储过程返回值和输出参数值的方法 - Python技术站