Re: [问题] Datareader的限制问题

楼主: m339606 (mize)   2014-06-01 23:42:40
※ 引述《wind681201 (阿风~~)》之铭言:
: 在msdn上面有说,在connection里,只能存在一个datareader,
: 这一句话,我一直是看不懂,我的疑问是。
: 一、一个connection里只能存在一个Datareader?
: 二、只要是连线相同的数据库,只能有一个datareader?
: 三、关闭datareader就好,还是连sqlcommand也要一起关了,才可以用呢?
: 状况一:
: 在a.aspx网页里有一个connection连b数据库,在这里只能有一个datareader?
: 那在b.aspx网页中有一个connection连b数据库,就无法使用datareader?
: 也就是说,整个网站,多人使用一个datareader?
: 状况二:
: A class里,有conneciotn连数据库b,若我
: dim a1 as new a : dim b1 as new a
: 那是个存在一个datareader吗?还是说a1 b1都有自己的datareader可用呢?
: 状况三:
: 同样的连线中,跑槽状循环,就不能用datareader因为只能有一个,可能
: 外层的datareader没关,就不能用在内层?
: 研究很久了,还是不清楚
一个Reader被建立出来后在尚未关闭或消灭之前connection都是保持着open
所以同样的connection实体再去做其他Command会丢出Exception
状况二不明白你说的意思
状况三
Reader是顺向而且不可逆的资料读取
你需要在后面大量程式码使用到的资料请读入DataTable
作者: wind681201 (阿风~~)   2014-06-02 14:11:00
第二是说,同样的物件里都有dr,那分别用二个去new也算在同一个conn里吗?
作者: Ammenze (蓝天白云)   2014-06-02 18:02:00
你在class有new connection的话,new的时候就是新的Dr也就不会是同ㄧ个
作者: wind681201 (阿风~~)   2014-06-02 18:31:00
所以若是静态的话,整个系统只能存在一个Dr而动态的话,就是本身物件一个dr,是分开的所以应该是说,一个conn一个dr,是看有几个conn?
楼主: m339606 (mize)   2014-06-03 20:59:00
1个conn配一个Reader没错

Links booklink

Contact Us: admin [ a t ] ucptt.com