[c#]两种Transaction和用法

[c#]两种Transaction和用法

 

http://kinghome1979.spaces.live.com/Blog/cns!BD659B93175DA3EA!239.entry

 

第一种:PetShopProfileProvider.cs中的用法
   SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringProfile);
   conn.Open();
   SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
   try {
    SqlHelper.ExecuteNonQuery(trans, CommandType.Text, sqlDelete, param);
    SqlHelper.ExecuteNonQuery(trans, CommandType.Text, sqlInsert, parms);
    trans.Commit();
   }
   catch(Exception e) {
    trans.Rollback();
    throw new ApplicationException(e.Message);
   }
   finally {
    conn.Close();
   }
第二种:MB.TheBeerHouse.BLL.Store.Order : BaseStore中的用法
         using (TransactionScope scope = new TransactionScope())
         {
            transactionID = BizObject.ConvertNullToEmptyString(transactionID);
            trackingID = BizObject.ConvertNullToEmptyString(trackingID);
            // retrieve the order's current status ID
            Order order = Order.GetOrderByID(id);
            // update the order
            OrderDetails record = new OrderDetails(id, DateTime.Now, "", statusID, "", "", 0.0m, 0.0m,
               "", "", "", "", "", "", "", "", "", "", shippedDate, transactionID, trackingID);
            bool ret = SiteProvider.Store.UpdateOrder(record);
           
            // if the new status ID is confirmed, than decrease the UnitsInStock for the purchased products
            if (statusID == (int)StatusCode.Confirmed && order.StatusID == (int)StatusCode.WaitingForPayment)
            {
               foreach (OrderItem item in order.Items)
                  Product.DecrementProductUnitsInStock(item.ProductID, item.Quantity);
            }
            BizObject.PurgeCacheItems("store_order");
            scope.Complete();
            return ret;
         }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值