我正在尝试使用SqlDataReader
获取数据。当我查看结果时,我确实看到列的数量,但是行丢失了,我只看到“枚举没有产生结果”的空白。
花了很多时间在网上遇到类似的问题后,我无法解决我的问题。然后我尝试了相同的存储过程,但使用了DataAdapter。使用DataAdapter
,返回所有行。我不确定是什么导致了这个问题。我尝试以不同的方式重写我的方法,但没有用。
public static SqlDataReader ExecuteDataReader(string connection, string storedProcedure)
{
using (var sqlCon = new SqlConnection(connection))
{
// sqlCon.Open();
var cmd = new SqlCommand(storedProcedure, sqlCon)
{
CommandType = CommandType.StoredProcedure
};
sqlCon.Open();
using (var reader = cmd.ExecuteReader())
{
var count = reader.FieldCount;
while (reader.Read())
{
for (var i = 0; i < count; i++)
{
Console.WriteLine(reader.GetValue(i));
}
}
}
//reader.Close();
return null; // for testing purpose
}
}
- 存储过程。 (保持简单)
Create PROC [dbo].GetTheData
As
select '1' AS one,'2' as two,'3' as three,'4' as four,'5'as five