gpt4 book ai didi

c# - 初始化存储过程输出参数

转载 作者:行者123 更新时间:2023-11-30 14:14:28 27 4
gpt4 key购买 nike

我有一个简单的 SQL Server 存储过程:

ALTER PROCEDURE GetRowCount

(
@count int=0 OUTPUT
)

AS
Select * from Emp where age>30;
SET @count=@count+@@ROWCOUNT;

RETURN

我正在尝试在以下 C# 代码中初始化和访问输出参数:

SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=localhost\\SQLEXPRESS;Initial Catalog=answers;Integrated Security=True";

SqlCommand cmd = new SqlCommand();
cmd.Connection = con;

cmd.CommandText = "GetRowCount";
cmd.Parameters.Add(new SqlParameter("@count", SqlDbType.Int));
cmd.Parameters["@count"].Direction = ParameterDirection.Output;
con.Open();
cmd.Parameters["@count"].Value=5;
cmd.ExecuteNonQuery();

int ans = (int)(cmd.Parameters["@count"].Value);
Console.WriteLine(ans);

但是在运行代码时,在代码的倒数第二行抛出一个 InvalidCastException(我调试并检查了 Value 属性中没有返回任何内容)。

如何在代码中正确初始化输出参数?提前致谢!

最佳答案

您需要将 ParameterDirection 更改为 ParameterDirection.InputOutput

在这里查看示例:how to get return value from procedure sql server 2005 to c#

关于c# - 初始化存储过程输出参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com