我需要通过DataReader进行两次迭代。有没有一种方法可以在不使用数据集的情况下并且无需两次运行查询?顺便说一下,我正在使用C#。
谢谢
最佳答案
简短的答案是“否”,您需要对结果集进行枚举,然后完成。可能应该做的是将结果转储到某种简化的原始结果中,您可以根据需要进行多次迭代(避免使用DataSet的开销)。
如果您看一下MSDN,它会指出SqlDataReader是“forward only”(仅转发),这再次表明这是不可能的。
我需要通过DataReader进行两次迭代。有没有一种方法可以在不使用数据集的情况下并且无需两次运行查询?顺便说一下,我正在使用C#。
谢谢
最佳答案
简短的答案是“否”,您需要对结果集进行枚举,然后完成。可能应该做的是将结果转储到某种简化的原始结果中,您可以根据需要进行多次迭代(避免使用DataSet的开销)。
如果您看一下MSDN,它会指出SqlDataReader是“forward only”(仅转发),这再次表明这是不可能的。