使用 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
设置为 ReturnValue
,SqlParameter
被指定为存储过程返回值的接收者。 在 ExecuteNonQuery()
之后,此参数的 Value
属性保存返回的值,然后 C# 应用程序可以访问和使用该值。 请记住将 Value
属性转换为正确的数据类型。
以上是如何在 C# 中从 SQL Server 存储过程检索返回值?的详细内容。更多信息请关注PHP中文网其他相关文章!