使用事务
/// <summary>
??? /// 執行事務操作
??? /// </summary>
??? /// <param name="sql">字符串數組用來存儲需要執行的sql語句</param>
??? /// <returns>返回一個布爾值,表示是否操作成功</returns>
??? public static bool execTransaction(string[] sql)
??? {
??????? //創建數據庫連接
??????? SqlConnection con = createCon();
??????? //創建SqlTransaction對象
??????? SqlTransaction sTransaction=null;
??????? try
??????? {
??????????? //打開數據庫連接
??????????? con.Open();
??????????? //創建SqlCommand對象
??????????? SqlCommand com = con.CreateCommand();
??????????? //設置開始事務
??????????? sTransaction = con.BeginTransaction();
??????????? //設置需要執行事務
??????????? com.Transaction = sTransaction;
??????????? foreach (string sqlT in sql)
??????????? {
??????????????? //設置SQL語句
??????????????? com.CommandText = sqlT;
??????????????? //判斷是否執行成功
??????????????? if (com.ExecuteNonQuery() <= 0)
??????????????? {
??????????????????? //設置事務回滾
??????????????????? sTransaction.Rollback();
??????????????????? //返回布爾值False
??????????????????? return false;
??????????????? }
??????????? }
??????????? //提交事務
??????????? sTransaction.Commit();
??????????? //返回布爾值True
??????????? return true;
??????? }
??????? catch (Exception ex)
??????? {
??????????? //設置事務回滾
??????????? sTransaction.Rollback();
??????????? //返回布爾值False
??????????? return false;
??????? }
??????? finally
??????? {
??????????? //關閉數據庫連接
??????????? con.Close();
??????? }
??? }
轉載于:https://www.cnblogs.com/jsping/archive/2012/06/16/2552246.html
總結
- 上一篇: 仿百度文库方案[openoffice.o
- 下一篇: 勇夺新势力7月销冠 哪吒汽车CEO:最多