首页 > 后端开发 > C++ > 如何在 C# 中从 SQL Server 存储过程检索返回值?

如何在 C# 中从 SQL Server 存储过程检索返回值?

Linda Hamilton
发布: 2025-01-20 01:11:08
原创
797 人浏览过

How to Retrieve a Return Value from a SQL Server Stored Procedure in C#?

使用 C# 访问 SQL Server 存储过程的返回值

本文介绍了如何在 C# 应用程序中正确检索 SQL Server 存储过程的返回值。 当尝试访问返回值(例如下一个序列号)而没有正确的参数处理时,会出现一个常见问题。

该示例使用存储过程 usp_GetNewSeqVal,它递增 AllSequences 表中的序列值并返回更新后的值。 C# 代码连接到数据库并使用 SqlCommand.

执行存储过程

检索返回值的关键是将带有ParameterDirection.ReturnValue的参数添加到SqlCommand的参数集合中。这个专用参数充当存储过程输出的容器。

这是更正后的 C# 代码片段:

<code class="language-csharp">using (SqlCommand cmd = conn.CreateCommand())
{
    // ... other code ...

    // Add a parameter to receive the return value
    SqlParameter returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;

    // ... other code ...

    conn.Open();
    cmd.ExecuteNonQuery();
    int result = (int)returnParameter.Value; // Cast to appropriate type
}</code>
登录后复制

通过将 ParameterDirection 设置为 ReturnValueSqlParameter 被指定为存储过程返回值的接收者。 在 ExecuteNonQuery() 之后,此参数的 Value 属性保存返回的值,然后 C# 应用程序可以访问和使用该值。 请记住将 Value 属性转换为正确的数据类型。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板