※ 引述《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