我相信在JAVA中,我们可以将数据读取器设置为指向结果集的第一行。我有一个SQLDataReader,有超过20列,我需要预先处理一些列并计算一些值,然后才使用整个结果集。第一次阅读数据阅读器之后是否可以重新阅读数据阅读器以获取所选列?或者我需要将结果存储在数据表中并在稍后读取?在C#中多次读取SQLDataReader?
2
A
回答
4
从MSDN文档在http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx
提供从SQL Server数据库中读取一个只进行流的方式。
您可以一次读取一行,但是一旦读完下一行就不能返回到一行。
如果需要,您可以按任意顺序,任意次数读取行中的列,并跳过字段。
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
}
2
1
也许你可以运行2个查询作为sproc的一部分。第一个查询限于预先计算的字段的字段,其余字段的第二个查询。然后在你的C#中使用reader.ReadNext
方法。
或者,SQL不支持计算字段,这可能会使事情变得更简单。
但个人而言,我会将整个数据读入List<T>
进行处理...
相关问题
- 1. C#SqlDataReader只读取1行
- 2. SQLDataReader未读取
- 3. SqlDataReader每隔一行读取一次?
- 4. 无法从sqldatareader读取多行
- 5. 使用SqlDataReader同时读取多个行(块读取)
- 6. 内存读取从SqlDataReader的
- 7. SqlDataReader HasRows但不读取
- 8. SQLDataReader不使用VB.net读取
- 9. 如何读取列SqlDataReader
- 10. 多次读取SerialDataPort
- 11. 多次读取txt
- 12. C#中的SqlDataReader
- 13. 在C中一次读取一行
- 14. 如何从SqlDataReader中读取多个结果集?
- 15. 在bash中多次读取stdin
- 16. 在SAS中多次读取数据集
- 17. 一次在多个文件中批量读取R读取
- 18. 读多行数据使用SqlDataReader的
- 19. 从c#中的相同流中读取多次#
- 20. BufferedReader读取次数太多
- 21. 读取文件多次
- 22. 使用SQLDataReader读取IP地址
- 23. 检查空的日期读取SqlDataReader的
- 24. 使用SqlDataReader读取XML数据
- 25. 我如何使用SqlDataReader读取数据
- 26. 什么是读取从SQL Server使用SqlDataReader的(C#)字节数
- 27. 在C++中读取多个.dat文件
- 28. 在C#中多层读取XML
- 29. 在C#中读取多级XML文件
- 30. 在c中使用fscanf()读取多行