使用事务
/// <summary>
??? /// 執(zhí)行事務(wù)操作
??? /// </summary>
??? /// <param name="sql">字符串?dāng)?shù)組用來(lái)存儲(chǔ)需要執(zhí)行的sql語(yǔ)句</param>
??? /// <returns>返回一個(gè)布爾值,表示是否操作成功</returns>
??? public static bool execTransaction(string[] sql)
??? {
??????? //創(chuàng)建數(shù)據(jù)庫(kù)連接
??????? SqlConnection con = createCon();
??????? //創(chuàng)建SqlTransaction對(duì)象
??????? SqlTransaction sTransaction=null;
??????? try
??????? {
??????????? //打開(kāi)數(shù)據(jù)庫(kù)連接
??????????? con.Open();
??????????? //創(chuàng)建SqlCommand對(duì)象
??????????? SqlCommand com = con.CreateCommand();
??????????? //設(shè)置開(kāi)始事務(wù)
??????????? sTransaction = con.BeginTransaction();
??????????? //設(shè)置需要執(zhí)行事務(wù)
??????????? com.Transaction = sTransaction;
??????????? foreach (string sqlT in sql)
??????????? {
??????????????? //設(shè)置SQL語(yǔ)句
??????????????? com.CommandText = sqlT;
??????????????? //判斷是否執(zhí)行成功
??????????????? if (com.ExecuteNonQuery() <= 0)
??????????????? {
??????????????????? //設(shè)置事務(wù)回滾
??????????????????? sTransaction.Rollback();
??????????????????? //返回布爾值False
??????????????????? return false;
??????????????? }
??????????? }
??????????? //提交事務(wù)
??????????? sTransaction.Commit();
??????????? //返回布爾值True
??????????? return true;
??????? }
??????? catch (Exception ex)
??????? {
??????????? //設(shè)置事務(wù)回滾
??????????? sTransaction.Rollback();
??????????? //返回布爾值False
??????????? return false;
??????? }
??????? finally
??????? {
??????????? //關(guān)閉數(shù)據(jù)庫(kù)連接
??????????? con.Close();
??????? }
??? }
轉(zhuǎn)載于:https://www.cnblogs.com/jsping/archive/2012/06/16/2552246.html
總結(jié)
- 上一篇: 仿百度文库方案[openoffice.o
- 下一篇: 进制转化