首页 > 数据库 > mysql教程 > 如何从 C# 中的存储过程中检索返回值?

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

Patricia Arquette
发布: 2025-01-06 02:55:39
原创
423 人浏览过

How to Retrieve Return Values from Stored Procedures in C#?

从 C# 中的存储过程中检索返回值

本文探讨了如何从 C# 中的存储过程中检索返回值。

让我们考虑以下名为的存储过程"[dbo].[Validate]":

ALTER PROCEDURE [dbo].[Validate]
@a varchar(50),
@b varchar(50) output

AS

SET @Password = 
(SELECT Password
FROM dbo.tblUser
WHERE Login = @a)

RETURN @b
登录后复制

要执行此存储过程并检索返回值,可以使用以下代码:

using System;
using System.Data;
using System.Data.SqlClient;

namespace StoredProcedureReturnValue
{
    class Program
    {
        static void Main(string[] args)
        {
            // Assuming you have a connection string defined in your app config
            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString;

            // Create a connection and command object
            using (SqlConnection SqlConn = new SqlConnection(connectionString))
            using (SqlCommand sqlcomm = new SqlCommand("Validate", SqlConn))
            {
                // Specify the stored procedure
                sqlcomm.CommandType = CommandType.StoredProcedure;

                // Add input parameters
                SqlParameter inputParam = new SqlParameter("@a", SqlDbType.VarChar, 50);
                inputParam.Value = "myUsername";
                sqlcomm.Parameters.Add(inputParam);

                // Add an output parameter to receive the return value
                SqlParameter outputParam = new SqlParameter("@b", SqlDbType.VarChar, 50);
                outputParam.Direction = ParameterDirection.ReturnValue;
                sqlcomm.Parameters.Add(outputParam);

                // Open the connection and execute the stored procedure
                SqlConn.Open();
                sqlcomm.ExecuteNonQuery();

                // Retrieve the output value
                string returnValue = (string)outputParam.Value;

                // Do something with the return value
                Console.WriteLine($"Return value: {returnValue}");
            }
        }
    }
}
登录后复制

Key需要注意的地方:

  • 记得在 SqlCommand 上调用 ExecuteNonQuery()对象来执行存储过程。
  • 输出参数的方向必须设置为 ReturnValue 才能接收返回值。
  • 最后,从输出参数的 Value 属性中检索返回值.

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

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