顯示具有 ASP.NET 2.0 、DataReader 、MIS2000 Lab 、MultipleActiveResultSets SqlDataReader.NextResult() 、SqlConnection 、MS SQL 2005 標籤的文章。 顯示所有文章
顯示具有 ASP.NET 2.0 、DataReader 、MIS2000 Lab 、MultipleActiveResultSets SqlDataReader.NextResult() 、SqlConnection 、MS SQL 2005 標籤的文章。 顯示所有文章

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/