我在从 Visual Studio 2008 中的数据读取器中检索结果时遇到问题。我在同一个数据库中存储了多个 Procs。我能够从那些不接收输入参数的值中检索值。但是,当我在带有输入参数的存储过程上使用 executreReader() 方法时,我得到一个空的数据读取器。在检查结果集合时,会出现消息“IEnumerable returned no results”。我很困惑,因为我可以在 sql server 中执行存储的过程并返回结果集。我以前能够从 Visual Studio 中的这些存储过程中检索行,但显然它只是有一天停止工作。
我尝试使用 dataadapter 用我的结果填充数据集,并使用 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);
请帮忙!