針對這篇文章,之前有兩篇文章分享過:
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