iT邦幫忙

0

[ADO.NET] DataReader 與 CommandBehavior補充說明

針對這篇文章,之前有兩篇文章分享過:

DataReader的標準範例 for ASP.NET (Code Behind版) #1
http://www.dotblogs.com.tw/mis2000lab/archive/2008/04/24/3446.aspx

DataReader的標準範例 for ASP.NET (Code Behind版) #2 -- CommandBehavior
http://www.dotblogs.com.tw/mis2000lab/archive/2010/12/01/datareader\_2\_commandbehavior.aspx

範例最早源自微軟MSDN,我做了一些補充
針對這篇文章,之前有兩篇文章分享過:

DataReader的標準範例 for ASP.NET (Code Behind版) #1
http://www.dotblogs.com.tw/mis2000lab/archive/2008/04/24/3446.aspx

DataReader的標準範例 for ASP.NET (Code Behind版) #2 -- CommandBehavior
http://www.dotblogs.com.tw/mis2000lab/archive/2010/12/01/datareader\_2\_commandbehavior.aspx

範例最早源自微軟MSDN,我做了一些補充

雖然在上面的第二篇文章
MSDN講的很清楚

但講歸講,沒有親手做作看
沒有親眼看見成果是怎樣?

SqlCommand.ExecuteReader (CommandBehavior.CloseConnection)
微軟MSDN的說明是:(P.S. 讀起來像是火星文)
將 CommandText 傳送至 Connection,並使用其中一個 CommandBehavior 值來建置 SqlDataReader。

簡單地說,就是 DataReader關閉的時候,也會自動關閉資料庫的連結(自動關閉 Connection)

說真的!這種學習是「無感」的!
聽了就忘!

這不是好的學習方法

我寫了一個範例
裡面三個位置放上 Connection的 State狀態
從觀察結果,證明(親眼看見)MSDN訴說的規則

不知道這樣對大家有無幫助?

簡單結論:由此可知,當DataReader被讀取完成之後,
CommandBehavior.CloseConnection也會順便把 Connection連結給「關閉」了

因為程式碼有點長,可以到此觀看:
[ADO.NET] DataReader 與 CommandBehavior補充說明
http://www.dotblogs.com.tw/mis2000lab/archive/2015/01/23/datareader\_3\_commandbehavior.aspx


尚未有邦友留言

立即登入留言