在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中文网其他相关文章!