我将大量记录从数据库导出到数据集,这可能是导致System.OutofMemory异常的原因。为了防止这种情况,作为第一步,我决定使用SQL Datareader。我担心的是演示文稿不应该改变,并且BL中应该有最小的代码更改,我应该在DL中编写一个方法,它应该使用SQL读取器检索数据并填充数据集并返回BL。将SQL Datareader转换为C#中的数据集#
0
A
回答
2
您可以使用DataTable.Load()方法。
1
无论你还是框架填充DataSet,都会产生OutOfMemoryException。 你必须return an IEnumerable并更改BL代码来处理它。
或者,您可以尝试设置DataTable.MinimumCapacity以避免内存碎片。
+0
+1,因为我同意 - 通过数据读取器进行如何帮助减少内存使用量?据推测,虽然可能会用一个看起来像DataTable的对象做一些疯狂的事情,但实际上它内部有一个ienumerabe来返回行数据。这将是棘手的,但可以防止重新编码BL的问题。 – Chris
相关问题
- 1. 将datatable转换为datareader
- 2. 将sql数据转换为c#对象
- 3. 将数据库转换为C#的数据集
- 4. C#将二维数组转换为数据集/数据表
- 5. 如何将C#中的嵌套列表转换为数据集#
- 6. 需要将数据集转换为C#中的字符串
- 7. 转换SQL数据集
- 8. 将SQL数据库转换为.sql
- 9. 将SQL Azure转换为SQL数据库
- 10. 将xy数据集转换为数组
- 11. 将SQL二进制数据转换为C#中的字符串
- 12. 将C#DateTime转换为输入到数据库中的SQL DateTime
- 13. 将C函数转换为程序集
- 14. 将字符串转换为int - datareader
- 15. .net:将通用列表转换为DataReader?
- 16. 如何将DataSet a转换为DataReader?
- 17. 将SQL Server数据库转换为本地C#数据库
- 18. 转换数据集的数据表C#
- 19. 将PHP数组转换为C#数组/数据集
- 20. 将字符串转换为数据集
- 21. 将数据集转换为XSLT
- 22. 如何将JavaPairRDD转换为数据集?
- 23. 将数据集转换为二进制
- 24. 将数据集转换为模型类
- 25. 将数据集转换为IList
- 26. 将多个表转换为数据集
- 27. 将XML转换为数据集
- 28. 将JSON转换为.NET数据集
- 29. 将数据集列转换为obsnames
- 30. VS2010将数据集转换为ODP.net
你有没有想过使用SqlDataAdapter.Fill(DataTable)? – Dani
目前我只使用DataAdapter来填充记录到数据集! – banupriya
我明白了,您是想从表格中获取所有数据还是仅记录符合特定条件的记录? – Dani