※ 引述《cawQQ (This is 照 Fanny)》之銘言:
: ※ 引述《aming73 (aming)》之銘言:
: : 看書的時候用 datatable( SqldataAdapter時
: : connection 都沒在關
: : 用datareader(SqlCommand時
: : connection 書上都會關,甚至連datareader也會關
: : connection 若是不關
: : 有造成什麼問題嗎?
: : 謝謝指教
: 使用DataAdapter時~
: 如果沒有先Open的話
: DataAdapter會自動開Open 處理完資料後在Close起來
: 同理~如果你先Open...DataAdapter照樣也會幫你Close
: 如果只有一個DataAdapter的話..執行效率是感覺不太出來有差
: 但是如果有多個DataAdapter要處理的話
: 每次都要開開關關..這樣執行效率整個就差了起來
: 我就有測試過3個DataAdapter沒有先執行Connection.Open結尾沒有Connection.Close
: 就直接跑程式了~
: 整個效率真的是夠差~執行的速度並不太好~
: 至於DataReader的話~它不會自動幫你執行Connection.Close的動作
我記得在 new DR的時候 有一個選項 ,可以讓你關閉 DR 時,順便關閉 Connection
: 所以你要自己關起來~不關的話...後果你可以自己試試看~XD
: 當然DataReader也是要Closed的...不然一樣你可以試試看會怎樣..XD
: 話說如果你覺得麻煩的話是有辦法在關DataReader時可以順便把Connection也關掉的
: 只是方法我沒背...你要自己找一下資料嘍...我很懶..Orz
: 多個DataAdapter的寫法我通常都這樣寫
原本我也是這樣寫,但在 C# 中 有一個 using 的語法好像比 finally 更好
我沒有去查正確的說明,但我自己是以為在離開了 using 的 scope 之後,系統會自動幫
你釋放資源,這樣就可以免除一些跳來跳去 結果沒正確釋放資源的程式~
: Try
: Connection.Open
: ...
: ...
: Finally
: Connection.Close
--
-----------------------------------------------------------------------------
功課重,Project多的好幫手--專案王
http://steven.twbbs.org/ProjectKing
增加右鍵的威力RightMenuKing--右鍵王
http://steven.twbbs.org/RightMenuKing/
備份重要檔案的好幫BackupKing--備份王
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.34.154.20