我相信在 JAVA 中我们可以将数据读取器设置为指向其结果集的第一行。我有一个超过 20 列的 SQLDataReader,我需要在使用整个结果集之前预处理一些列并计算一些值。是否可以在第一次读取数据读取器后重新读取数据读取器以获取选定的列?或者我是否需要将结果存储在数据表中并稍后从中读取?
最佳答案
来自 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx 的 MSDN 文档
Provides a way of reading a forward-only stream of rows from a SQL Server database.
您一次可以阅读一行,但是一旦阅读了下一行就不能返回到前一行。
您可以按任何顺序读取一行中的列,读取次数不限,也可以根据需要跳过字段。
while (reader.Read())
{
var a = reader[2]; // you can skip fields
var b = reader[0]; // you don't have to read the fields in order
var c = reader[2]; // you can re-read fields
}
关于c# - 在 C# 中多次读取 SQLDataReader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10522661/