gpt4 book ai didi

c# - Datareader 在 VS 中不返回任何结果,但存储过程在 Sql Server 中返回多个结果集

转载 作者:太空狗 更新时间:2023-10-29 22:10:18 24 4
gpt4 key购买 nike

我无法从 visual studio 2008 中的数据读取器检索结果。我在同一个数据库中有多个存储过程。我能够从那些不接收输入参数的值中检索值。但是,当我在带有输入参数的存储过程上使用 executreReader() 方法时,我得到一个空的数据读取器。检查结果集合后,会出现消息“IEnumerable 未返回任何结果”。我很困惑,因为我可以在 sql server 中执行存储过程并返回结果集。我以前能够在 Visual Studio 中从这些存储过程中检索行,但显然有一天它停止工作了。

我曾尝试使用数据适配器用我的结果填充数据集,并使用 executereader() 方法获取 sqldatareader,但我仍然没有得到任何结果。也不会抛出异常。我的参数都已正确命名,但我应该能够调用这些不带参数的存储过程,并返回未过滤的结果集。我目前使用的代码如下:

string connStr = ConfigurationManager.ConnectionStrings["MyConnectionString"]
.ConnectionString;

SqlConnection connCactus = new SqlConnection(connStr);
SqlCommand cmdPopulateFilterDropDowns = new SqlCommand( "dbo.MyStoredProc",
connCactus);
SqlDataReader rdrFilterSearch = null;
cmdPopulateFilterDropDowns.CommandType = CommandType.StoredProcedure;

connCactus.Open();
rdrFilterSearch = cmdPopulateFilterDropDowns
.ExecuteReader(CommandBehavior.CloseConnection);

return (rdrFilterSearch);

请帮忙!

最佳答案

您是否曾经将参数添加到 SqlCommand 的参数集合中?你提到那些不工作的是那些接受输入参数的,但是在你的代码中你没有这样的东西:

cmdPopulateFilterDropDowns.Parameters.AddWithValue(...);

关于c# - Datareader 在 VS 中不返回任何结果,但存储过程在 Sql Server 中返回多个结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/370165/

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