2008年2月1日 星期五

SqlDataReader 同時執行多個SQL指令!

SqlDataReader很類似以前ASP時代的「RecordSet」,簡單又好用。
但缺點就是:ASP.NET 的SqlDataReader不像RecordSet,可以在同一個資料庫連線裡面,重複開啟「多個」RecordSet。

Microsoft說:「每次在 SqlConnection 上只能有一個 SqlDataReader 開啟。」

所以,當DataReader尚未關閉之前,是不能連續使用第二個DataReader的.....

這實在很困擾。因為在以前的ASP時代,一個資料庫連線裡面,搞不好同時開好幾個RecordSet來工作呢!

解決方法有兩個:

第一,ASP.NET 2.0搭配MS SQL 2005的話,可以解決。請看微軟的官方文件「MultipleActiveResultSets 屬性」,請將這屬性,寫在資料庫連線字串(ConnectionString)裡面。

第二,就是SqlDataReader的「.NextResult()」方法,請看這篇文章的說明(簡體中文網站)。

本文出處:http://www.taconet.com.tw/mis2000_aspnet/

沒有留言: