2 回答

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
using調(diào)用的是con.Dispose(); 它基本和Close()差不多,只是多釋放了一個(gè)ConnectionString。
dispose并不會(huì)釋放掉連接池,也不會(huì)關(guān)閉連接,只是把連接放回到連接池 ,close也一樣。
至于new一個(gè)SqlConnection只是建立和初始化了一個(gè)對(duì)象而已,并沒有去做連接。真正跟連接數(shù)據(jù)庫(kù)有關(guān)的是open方法,它首先去連接池里找是否存在可用的連接,沒有才新建。無論你的SqlConnection是被new的還是被close,open的操作都是這樣,除非你禁用連接池。
你說的close方案和這個(gè)示例相比只是省去了在建立SqlConnection對(duì)象上的資源消耗(這塊性能消耗很?。?,對(duì)于數(shù)據(jù)庫(kù)的連接方面沒有任何區(qū)別。

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
用using只是利用系統(tǒng)會(huì)在用戶不用這個(gè)對(duì)象的時(shí)候就自動(dòng)釋放資源,C#自帶了垃圾回收機(jī)制使得用戶可以專注于開發(fā),有好處,也有壞處,像你說的。我之前也是每次用完一次SqlConnection才Close一下
…………………………
僅僅理解如此
添加回答
舉報(bào)