看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《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