我使用的是存储过程分页,每次执行把对应的数据一次性读取到datatable,然后在客户端,来操作。datareader速度比较快,我一般使用来读取有有一条记录的数据,然后填充内存中的对象。我现在想知道,一个列表,我在用asp.net读取到页面上的时候,用datatable 还是用datareader一条一条来读取,用datareader是不是会占用connection 的时间过长?
解决方案 »
- 关于insert语句。。。
- 还是加密,客户我们怎么过招?
- 散分,学习阶段,参考别人的自己写了个DbHelper,大家提提意见,哪点做的不好!谢谢!
- gridView的"删除"命令按钮如何加如确认对话框
- 我用interop.owc.dll写统计图表,但是过一段时间统计图表就看不了了,页面报错说:带有 CLSID {0002E500-0000-0000-C000-000000000046}
- 请问大家都用的.Net的什么版本作开发?
- 制作工作进度安排表
- cookie技术
- DataSet生成一个Xml文件
- 求助,treeview和toolbar的抖动问题怎么解决?
- 新手提问
- 如何读取txt文件的某2列
出错率小
datareader在读取的时候一直与数据库连接
小的数据用DATAREADER好,速度快,数据多的时候就容易出错
用datareader是不是会占用connection 的时间过长?
------------------------------------------
用dataTable好.
DataReader会一直保持与数据库的链接.直到你主动断开.
补充:
使用DataTable,DataReader的最佳时机:
DataTable:
1.在结果的多个离散表中进行导航。
2.操作时,涉及多个数据源。(xml,some dataBase,or excel's data).
3.在各层之间交换数据.或者使用Web Server等.(注:dataSet可以被远程传递到客户端的哦!)
4.重用数据,多数用于通过缓存,获得性能方面的改善(比如:Sort,Search,Filter)
5.对每条记录有着大量的业务处理.
6.使用XML对数据进行操作.
DataReader:
1.不需要缓存数据。
2.你要处理的数据集太大,mem放不下了。考虑使用DR。
3.一旦需要以仅向前,只读方式快速读取数据。
简单说几条,LZ根据自身情况定。