亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MySqlDataReader在Using中使用

2019-11-17 02:19:36
字體:
來源:轉載
供稿:網友

MySQLDataReader在Using中使用

結論:當DataReader放在Using方法中時,會自動釋放資源,如果中途出現了異常處理,也同樣會釋放掉占用的資源。測試過程:這里由于沒有將全部分過程記錄下來,只是對結果大體的說明一下,有興趣的童鞋可以自己測試。首先正常的處理流程:

1 MySqlDataReader dr = MySqlHelper.ExecuteReader(MySqlHelper.Conn, CommandType.Text, sqlStr, parameters)2 while (dr.Read())3 {4 keyWords.Add(dr["KeyWord"].ToString());5 }6 dr.Close()
View Code

這樣處理貌似是沒問題,不過在測試中,如果“keyWords.Add(dr["KeyWord"].ToString());”出現了異常,此時,程序會調到異常處理的模塊,這樣,就造成了下邊的close方法不會被執行到,從而造成了數據庫連接數的不斷累加,當達到最大值時,問題就顯露出來了。

下邊第一種處理方式采用異常處理:

 1 MySqlDataReader dr = MySqlHelper.ExecuteReader(MySqlHelper.Conn, CommandType.Text, sqlStr, parameters); 2 try{ 3 while (dr.Read()) 4 { 5 keyWords.Add(dr["KeyWord"].ToString()); 6 } 7 } 8 catch(){ 9 }10 finnally{11 dr.Close();12 }
View Code

毫無疑問,這個方法很容易想到。

第二種處理方式,這里打算使用using方法進行處理。但是根據理論知識,認為這個是可以的。但是真實的程序運行環境,確實有時不能以理論知識來指導?,F在程序在這,有一個很合適的測試環境,為什么不自己測試下呢?于是就出現了一下的過程:我是用的是MySql數據庫,C#編寫的程序。首先補充一些基礎知識1、Using定義范圍:即時釋放資源,在范圍結束時釋放資源。當在某個代碼段中使用了類得實例,而希望無論什么原因,只要離開了這個代碼段就自動調用這個類實例的Dispose方法釋放資源。到達using語句末尾或者中途引發了異常并且控制離開了語句塊,即觸發實例的Dispose方法釋放資源。然后查看MySqlDataReader的實現: public sealed class MySqlDataReader : DbDataReader, IDataReader, IDisposable, IDataRecord{...}確實繼承了IDisposable方法,理論上應該是正確的。2、MySql查看連接數:命令: show PRocesslist;如果是root帳號,你能看到所有用戶的當前連接。如果是其它普通帳號,只能看到自己占用的連接。show processlist;只列出前100條,如果想全列出請使用show full processlist;

有了這兩點理論知識,下邊的測試就容易多了:1、不使用using也不關閉連接:

1 MySqlDataReader dr = MySqlHelper.ExecuteReader(MySqlHelper.Conn, CommandType.Text, sqlStr, parameters);2 while (dr.Read())3 {4 keyWords.Add(dr["KeyWord"].ToString());5 }
View Code

測試,連接數不斷增多。

2、不使用,采用關閉操作:

1 MySqlDataReader dr = MySqlHelper.ExecuteReader(MySqlHelper.Conn, CommandType.Text, sqlStr, parameters);2 while (dr.Read())3 {4 keyWords.Add(dr["KeyWord"].ToString());5 }6 dr.Close()
View Code

測試,連接數不變化。

3、不使用Using,采用關閉操作,中間執行過程制作一個異常:

1 MySqlDataReader dr = MySqlHelper.ExecuteReader(MySqlHelper.Conn, CommandType.Text, sqlStr, parameters);2 while (dr.Read())3 {4 keyWords.Add(dr["Keyord"].ToString());5 }6 dr.Close()
View Code

測試,連接數不斷增多。

4、采用Using,無異常的情況:

1 Using(MySqlDataReader dr = MySqlHelper.ExecuteReader(MySqlHelper.Conn, CommandType.Text, sqlStr, parameters))2 {3 while (dr.Read())4 {5 keyWords.Add(dr["KeyWord"].ToString());6 }7 }
View Code

測試,連接數未增加。

5、采用Using中間制作一個異常:

1 Using(MySqlDataReader dr = MySqlHelper.ExecuteReader(MySqlHelper.Conn, CommandType.Text, sqlStr, parameters))2 {3 while (dr.Read())4 {5 keyWords.Add(dr["Keyord"].ToString());6 }7 }
View Code

測試,連接數未增加。

經過這幾步的測試,就有了最初的結論。

閑話不多說,實踐求真知。

Author:月夜Time:2015-06-09


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日日狠狠久久偷偷四色综合免费| 亚洲日韩欧美视频一区| 黑人巨大精品欧美一区二区| 亚洲欧洲成视频免费观看| 国产在线视频不卡| 欧美多人爱爱视频网站| 亚洲视频在线看| 欧美自拍视频在线观看| 亚洲精品短视频| 26uuu亚洲国产精品| 久久久免费电影| 国产成人精彩在线视频九色| 免费91在线视频| 亚洲在线视频福利| 欧美久久久精品| 国产亚洲精品日韩| 国产福利视频一区二区| 久久久久久噜噜噜久久久精品| 欧美在线精品免播放器视频| 大胆欧美人体视频| 国产精品日韩av| 亚洲在线免费看| 狠狠色香婷婷久久亚洲精品| 国产一区二区三区三区在线观看| 日韩女在线观看| 成人福利网站在线观看11| 欧美大胆a视频| 欧美国产精品va在线观看| 少妇高潮久久久久久潘金莲| www.欧美精品一二三区| 国产精品中文在线| 国产精品综合久久久| 欧美福利在线观看| 欧美日韩精品在线| 97视频在线观看视频免费视频| 欧美xxxx综合视频| 亚洲国产精品国自产拍av秋霞| 亚洲色图激情小说| 欧美国产日韩视频| 久久国产精品久久国产精品| 亚洲色图偷窥自拍| 97久久精品人人澡人人爽缅北| 亚洲网址你懂得| 啪一啪鲁一鲁2019在线视频| 国产精品美女久久| 欧美极品少妇全裸体| 亚洲欧美一区二区三区四区| 日韩欧美国产一区二区| 亚洲片在线观看| 91免费人成网站在线观看18| 亚洲伊人一本大道中文字幕| 国产suv精品一区二区三区88区| 欧美久久精品一级黑人c片| 色无极亚洲影院| 国内久久久精品| 国产大片精品免费永久看nba| 欧美一区二区.| 国产色视频一区| 亚洲香蕉伊综合在人在线视看| 欧美一区二区大胆人体摄影专业网站| 九九热这里只有精品免费看| 亚洲欧洲国产伦综合| 最新国产精品拍自在线播放| 亚洲人午夜精品| 精品无人区太爽高潮在线播放| 97在线看福利| 欧美精品免费看| 欧美成人高清视频| 国产成人精品久久亚洲高清不卡| 国产精品视频播放| 亚洲第一精品久久忘忧草社区| www欧美日韩| 国产97在线亚洲| 欧美大肥婆大肥bbbbb| 91久久久久久| 日韩中文字幕在线看| 97人人爽人人喊人人模波多| 日韩经典一区二区三区| 日韩黄色高清视频| 国产精品久久久久久久久久小说| 精品高清美女精品国产区| 日韩电影免费在线观看| 欧美日韩免费区域视频在线观看| 久久久久这里只有精品| 欧美美女18p| 97久久久免费福利网址| **欧美日韩vr在线| 欧美资源在线观看| 日本精品视频在线播放| 久久久久久久久久国产精品| 欧美日韩色婷婷| 日韩激情视频在线播放| 亚洲精品动漫久久久久| 亚洲free性xxxx护士hd| 在线一区二区日韩| 国内精品模特av私拍在线观看| 精品国产一区二区在线| 亚洲精品天天看| 亚洲国产婷婷香蕉久久久久久| 亚洲第一福利视频| 国产精品第10页| 亚洲激情视频在线观看| 色偷偷偷亚洲综合网另类| 亚洲乱亚洲乱妇无码| 黑人巨大精品欧美一区二区三区| 欧美大片免费观看在线观看网站推荐| 精品日本高清在线播放| 91在线精品视频| 国产日产亚洲精品| 欧美xxxwww| 在线成人免费网站| 日本成熟性欧美| 欧美激情综合色| 78色国产精品| 中文字幕精品久久久久| 欧美二区在线播放| 国产午夜精品视频免费不卡69堂| 国产日韩亚洲欧美| 久久精品久久久久久国产 免费| 色老头一区二区三区在线观看| 日本成人在线视频网址| 国产成人精品av在线| 精品久久久精品| 亚洲国产精彩中文乱码av| 日韩欧美一区二区三区久久| 成人h视频在线观看播放| 91夜夜揉人人捏人人添红杏| 一个人看的www欧美| 国产精品成人久久久久| 91国产精品电影| 亚洲国产精品久久久久秋霞蜜臀| 日韩专区在线观看| 热久久免费国产视频| 亚洲女性裸体视频| 日韩精品免费在线观看| 欧美日韩中文字幕综合视频| 51久久精品夜色国产麻豆| 欧美极品少妇xxxxⅹ喷水| 亚洲国产婷婷香蕉久久久久久| 免费99精品国产自在在线| 国产视频精品xxxx| 国产色视频一区| 久久精品久久精品亚洲人| 国产91精品最新在线播放| 亚洲欧美中文另类| 国产精品久久中文| 亚洲精品中文字幕女同| 国产精品嫩草影院久久久| 亚洲国产成人久久综合| 久久香蕉国产线看观看网| 国产精品久久久久7777婷婷| 大桥未久av一区二区三区| 中文国产成人精品久久一| 日韩一区二区三区xxxx| 久久精品久久久久久国产 免费| 日韩电影中文字幕在线| 欧美极品欧美精品欧美视频| 亚洲欧美激情精品一区二区| 91av在线不卡| 狠狠躁天天躁日日躁欧美| 久久精品国产91精品亚洲| 国产精品美乳在线观看| 中文字幕精品av| 亚洲精品国产综合久久|