首先设置参数方向为Output,再执行存储过程获取输出值。1. 创建带OUTPUT参数的存储过程,通过COUNT查询用户数量并赋值给输出参数;2. C#中使用SqlCommand调用,添加输入参数和指定SqlDbType的输出参数,设置Direction为ParameterDirection.Output;3. 打开连接后调用ExecuteNonQuery执行,执行完成后从outputParam.Value读取结果并转换为int输出。关键点包括:必须设置参数方向、确保执行后再读取值、SqlDbType与数据库类型匹配。

在C#中调用存储过程并使用输出参数,主要通过 SqlCommand 配合 SqlParameter 来实现。你需要设置参数的方向为 ParameterDirection.Output,执行存储过程后读取输出值。
CREATE PROCEDURE GetUserCountByUserName
    @UserName NVARCHAR(50),
    @UserCount INT OUTPUT
AS
BEGIN
    SELECT @UserCount = COUNT(*) 
    FROM Users 
    WHERE UserName = @UserName
END
以下是使用 ADO.NET 调用该存储过程并获取输出参数值的完整示例:
using System;
using System.Data;
using System.Data.SqlClient;
<p>class Program
{
static void Main()
{
string connectionString = "your_connection_string_here";
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand("GetUserCountByUserName", conn);
cmd.CommandType = CommandType.StoredProcedure;</p><pre class='brush:php;toolbar:false;'>        // 输入参数
        cmd.Parameters.Add(new SqlParameter("@UserName", "Alice"));
        // 输出参数
        SqlParameter outputParam = new SqlParameter("@UserCount", SqlDbType.Int);
        outputParam.Direction = ParameterDirection.Output;
        cmd.Parameters.Add(outputParam);
        conn.Open();
        cmd.ExecuteNonQuery();
        // 获取输出参数的值
        int userCount = (int)outputParam.Value;
        Console.WriteLine($"用户数量: {userCount}");
    }
}}
基本上就这些,使用起来不复杂但容易忽略方向设置。
以上就是C#中如何使用存储过程的输出参数?示例是什么?的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号