网站实际开发中 关于DataReader 和 DataSet 的使用问题? 那种会稳定些?即不容易出现获取不到连接的问题?(连接池已满...)高手们用那种比较多呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “连接池已满”是因为忘记了在代码中及时关闭连接,跟你的标题中的两种东西没有直接关系,这两种都可以使用一个或者许多个连接。至于那种“比较多”,我早已经没有感觉了。任何人可以采取任何形式。如果一个人认为DataReader足够,我会考虑一下我是不是对数据分析需求写得太简单了。如果我的数据处理需求足够复杂,而一个人可以使用DataReader达到功能需求,我没有任何意见。至于说那种编程更简练,由编程者自己去选择吧。至于考虑“性能差异”,其实页面对象从开始实例化之后就执行了复杂几千倍被的许多代码,为什么在这千分之一的地方去提高几分之一秒的效率?如果在逻辑设计、流程、缓存等等大的方面任何一个地方进行优化,程序提高至少百分之几十的效率,甚至提高数倍效率,才值得牺牲编程的简洁去追求速度。 如果你检测页面实例化到销毁所花的时间,当你的程序从DataSet到完全使用DataReader修改之后,时间几乎没有缩短。毫无疑问,肯定有一些缩短(如果故意用逻辑极其简单的数据读取程序来测试),但是没有有意义的缩短。对于简单程序,选择DataReader还是DataSet,更多地是个人爱好问题。 datareader遍历速度快.dataset能做到所谓的"离线访问".各有各的好处,哪里用什么,看需求如果其中一种能完全取代另一种,那微软也没必要出两种对象. 个人习惯问题.不过我认为做WEB用datareader的效率会好一些.即使如sp1234所说,只能提高百分之一,程序不就是一点点优化才能达到更好的性能么?但是二者的差别确实非常小,所以用哪个,无所谓 “连接池已满”是因为忘记了在代码中及时关闭连接,跟你的标题中的两种东西没有直接关系,这两种都可以使用一个或者许多个连接不过我认为做WEB用datareader的效率会好一些.即使如sp1234所说,只能提高百分之一,程序不就是一点点优化才能达到更好的性能么? 速度上DataReader和DataTable好过DataSet “连接池已满”是因为忘记了在代码中及时关闭连接,跟你的标题中的两种东西没有直接关系,这两种都可以使用一个或者许多个连接 不过我认为做WEB用datareader的效率会好一些.即使如sp1234所说,只能提高百分之一,程序不就是一点点优化才能达到更好的性能么? ----------------------我有个疑问:我的访问是用的下载的SqlPager,他的内部机制应该是会关掉的吧?我用using(SqlDatareader sdr=Dataaccess.sqlhelper.******)这种形式读取数据,这个应该是自己关掉吧??不用sdr.close()了吧?现在的问题是:如果将上面的语句放到一个循环语句里面,很容易出现 "连接池已满"这种情况(前提是可能循环1,2百次),如果换成dataset,情况会好很多,据说是 datareader的并发问题,哪位高手给解释下?????另外个问题:高手们都是自己写访问数据库的类,还是用下载的DLL文件????? 很多人在用sqlHelper."连接池已满".... 只要能保证尽可能晚地打开连接,尽可能早地关闭连接,使用DataReader效率还是不错的 一。连接池已满打开的数据库链接要及时关闭。二、关于datareader和datasetdatareader是只读向前的,如果你只是显示数据,建议用datareaderdataset相当于内存中的数据库,不过是离线的。占用的内存比较多,但是可以做一些数据的更新,也就是对dataset中数据的修改可以更新到数据库 怎么读取GridView其他分页的数据??????当前不翻页的情况下?? 无权限引用外部的dll文件 装了05和08两个数据库,现在建设网站默认调用05,我把数据写在08 ,我该 如何调用08数据库 联接数据库后,数据库里的字段与控件Datalist中数据绑定出现错误,怎么解决? 打不开数据库? 循环生成号码问题(100分) 好消息:Microsoft.Visual.Studio.2005.Beta.2的种子,大家快来下载! Response.Redirect问题? 刷新问题(困扰我好久了) 高分求教各位:如何在DataSet中的两个表格进行二次查询 求SQL语句~ 为什么这两个值不一样?
dataset能做到所谓的"离线访问".
各有各的好处,哪里用什么,看需求
如果其中一种能完全取代另一种,那微软也没必要出两种对象.
但是二者的差别确实非常小,所以用哪个,无所谓
不过我认为做WEB用datareader的效率会好一些.即使如sp1234所说,只能提高百分之一,程序不就是一点点优化才能达到更好的性能么?
不过我认为做WEB用datareader的效率会好一些.即使如sp1234所说,只能提高百分之一,程序不就是一点点优化才能达到更好的性能么?
----------------------
我有个疑问:我的访问是用的下载的SqlPager,他的内部机制应该是会关掉的吧?
我用using(SqlDatareader sdr=Dataaccess.sqlhelper.******)这种形式读取数据,这个应该是自己关掉吧??
不用sdr.close()了吧?
现在的问题是:如果将上面的语句放到一个循环语句里面,很容易出现 "连接池已满"这种情况(前提是可能循环1,2百次),如果换成dataset,情况会好很多,
据说是 datareader的并发问题,哪位高手给解释下?????另外个问题:高手们都是自己写访问数据库的类,还是用下载的DLL文件?????
"连接池已满"....
打开的数据库链接要及时关闭。
二、关于datareader和dataset
datareader是只读向前的,如果你只是显示数据,建议用datareader
dataset相当于内存中的数据库,不过是离线的。
占用的内存比较多,
但是可以做一些数据的更新,也就是对dataset中数据的修改可以更新到数据库