Re: [SQL ] 請教connection的問題

看板Database作者 (yin6705)時間13年前 (2010/12/07 00:44), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串3/3 (看更多)
如果要用transaction, 那你在SqlConnection Open()之後,去執行 BeginTransaction() 就可以取得SqlTransaction物件,然後要把它給定到SqlCommand的Transaction屬性, 最後執行完了一系列的新增刪除修改指令後,記得要Commit() 有發生錯誤,則執行 Rollback() 雖然SqlDataAdapter可以不做Open,Close, 但我建議你不管是不是只做select(用SqlDataAdapter) 一律都自己控制Open、Close,這樣比較清楚。 詳細的用法與說明,請查msdn。 ※ 引述《mcdstyle (靜止)》之銘言: : ※ 引述《conan99 (Conan)》之銘言: : : 請問一下,是否有網站是教學關於 : : connection、command、adapter及transection的「意涵」 : : 如果程式上單一個SQL指令 : : 知道要取得連結,下com..然後取得查詢的結果 : : 但是如果像以下程式碼,要分別下三次SQL指令 : : 但是所存取的DB都是同一個,那sqlconnection只new一次 : : 後面就直接用可以嗎? : 就你提供的範例來說,SqlConnection只要new一次即可,也就是都用myConn即可。 : : 以及有的程式碼會去open及close : : 何時要open?何時要close? :  ExecuteNonQuery()前要Open,執行完要Close,釋放資源。 :  如果你使用SqlDataAdapter這個類別,可以不用作Open跟Close,詳情見 :  http://ppt.cc/P1zk : : 請前輩指教一下,我對於這幾個原理不太了解,謝謝了 :  給你兩個Source,讀一下吧。 :  http://www.netmag.com.tw/member/netmag_article/n070306204.pdf :  http://www.netmag.com.tw/member/netmag_article/n020300102.pdf :  你也可以上MSDN用類別名稱去搜尋相關的說明。 : : ======================== : : SqlConnection myConn = new SqlConnection(); : : SqlCommand myCommand = new SqlCommand("select.....", myConn); : : myCommand.ExecuteNonQuery(); : : if(條件) : : { : : SqlConnection myConn2 = new SqlConnection(); : : SqlCommand myCommand2 = new SqlCommand("select.....", myConn2); : : myCommand.ExecuteNonQuery();1)", myConn2); : 這邊程式怪怪的 : : } : : SqlConnection myConn3 = new SqlConnection(); : : SqlCommand myCommand3 = new SqlCommand("select.....", myConn3); : : myCommand.ExecuteNonQuery();1)", myConn3); :              這邊程式也怪怪的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.165.87.8

12/07 20:23, , 1F
我以為用 SqlDataAdapter還自己管open、close是無意義的。
12/07 20:23, 1F

12/08 00:45, , 2F
yin大的論點是對的,這樣會比較保險些。
12/08 00:45, 2F
文章代碼(AID): #1C_HBRma (Database)
文章代碼(AID): #1C_HBRma (Database)