我相信在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()讀取多行