.Net SqlTransaction 交易

PS:SQL執行的話可以使用
UPDATE TABLENAME SET FINLDNAME=VALUE WHERE FINLDNAME='VALUE';  要加 ; 的符號就可以執行多筆
INSERT INTO TABLS(FINLDNAME1,FINLDNAME2) VALUES('VALUE1', 'VALUE2');

C#
/// 
/// SQLClient模式執行UPDATE或DELETE,BEGIN TRAN
/// 
/// 
public Boolean setSQLClientDataTRAN()
{
 System.Data.SqlClient.SqlConnection CONN; // 宣告SQL連線
 System.Data.SqlClient.SqlTransaction ST;  // 宣告SQL交易
 System.Data.SqlClient.SqlCommand CMD;     // 宣告SQL指令
 CONN = new System.Data.SqlClient.SqlConnection(ConnStr);                    // 新增 連線(連線字串)
 CONN.Open();                                                                // 開啟連線
 ST = CONN.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);       // 新增 連線交易(設定交易連線時鎖定資料)
 try
 {
  CMD = new System.Data.SqlClient.SqlCommand(SQLStr, CONN);               // 新增 指令(SQL,連線)
  CMD.Transaction = ST;                                                   // 設定 指令交易屬性 = SQL交易
  CMD.ExecuteNonQuery();                                                  // 執行 指令
  ST.Commit();                                                            // 確認交易成功
  CONN.Close();                                                           // 關閉連線
  return true;
 }
 catch
 {
  ST.Rollback();                                                          // 回複交易前狀態
  return false;
 }
}

VB
''' 
''' SQLClient模式執行UPDATE或DELETE,BEGIN TRAN
''' 
''' 
Public Function setSQLClientDataTRAN() As [Boolean]
 Dim CONN As System.Data.SqlClient.SqlConnection
 ' 宣告SQL連線
 Dim ST As System.Data.SqlClient.SqlTransaction
 ' 宣告SQL交易
 Dim CMD As System.Data.SqlClient.SqlCommand
 ' 宣告SQL指令
 CONN = New System.Data.SqlClient.SqlConnection(ConnStr)
 ' 新增 連線(連線字串)
 CONN.Open()
 ' 開啟連線
 ST = CONN.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)
 ' 新增 連線交易(設定交易連線時鎖定資料)
 Try
  CMD = New System.Data.SqlClient.SqlCommand(SQLStr, CONN)
  ' 新增 指令(SQL,連線)
  CMD.Transaction = ST
  ' 設定 指令交易屬性 = SQL交易
  CMD.ExecuteNonQuery()
  ' 執行 指令
  ST.Commit()
  ' 確認交易成功
  CONN.Close()
  ' 關閉連線
  Return True
 Catch
  ST.Rollback()
  ' 回複交易前狀態
  Return False
 End Try
End Function

留言

這個網誌中的熱門文章

delivery note和delivery order的區別和翻譯

Eclipse 3.6.1 Helios 中文化方法

牙技專業英文--技工篇