首页 >后端开发 >C++ >如何使用 ADO.NET 从 C# 中的存储过程中检索返回值?

如何使用 ADO.NET 从 C# 中的存储过程中检索返回值?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-20 01:21:09934浏览

How to Retrieve a Return Value from a Stored Procedure in C# using ADO.NET?

在C#中调用带返回值的存储过程

访问数据库时的常见需求是从应用程序中调用存储过程,尤其是在那些返回数值的存储过程中。本文演示了如何使用ADO.NET在C#应用程序中调用返回整数值的存储过程并检索结果。

存储过程

考虑存储过程usp_GetNewSeqVal,它检索给定序列名称的序列的下一个值。它接收@SeqName参数作为输入,并返回新的序列值。

C#代码

为了调用此存储过程并检索返回值,我们可以使用以下代码:

<code class="language-csharp">using (SqlConnection conn = new SqlConnection(getConnectionString()))
using (SqlCommand cmd = conn.CreateCommand())
{
    cmd.CommandText = parameterStatement.getQuery();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@SeqName", "SeqNameValue");

    // @ReturnVal 可以是任何名称
    var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;

    conn.Open();
    cmd.ExecuteNonQuery();
    var result = returnParameter.Value;
}</code>

关键细节

  • SqlCommand 使用正确的命令文本和类型进行配置。
  • 输入参数@SeqName添加到命令中。
  • 添加一个新的参数@ReturnVal,其方向设置为ParameterDirection.ReturnValue。这指示命令在存储过程中创建一个变量并将返回值赋值给它。
  • 连接打开,并使用ExecuteNonQuery执行查询。
  • 最后,可以从returnParameter.Value属性检索返回值。

以上是如何使用 ADO.NET 从 C# 中的存储过程中检索返回值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn