我正在使用 SqlCeDataReader 从查询中读取结果并将它们添加到可能返回 0 行或多行的对象列表中。
我的代码:
while (tourReader.Read())
{
Tour newTour = TourDBA.RetrieveTour( (int)reader["Id"] );
if (newTour != null)
creater.Tours.Add(newTour);
}
我会假设由于 Select 查询应该返回 0 行,Read() 将返回 false,因此永远不会进入循环。(我知道这个测试实例的表中有什么,0 行是这个测试的预期行为。)
知道如何解决这个问题吗?(使用 .HasRows 也会引发异常。)
另一件事 - 我在此查询中使用的连接是打开的,并且在方法进入此 while 循环之前在不同的 SqCeCommand 中使用,而不是在此处执行的连接。如果这很重要...