#region 根据用户ID生成定单
        public static int GenerateDealById(string id)
        {            if(Utils.IsNumber(id))
            {
                //ArrayList al = new ArrayList();
                //al.Add("");
                //al.Add("");
               // DbHelperOleDb.ExecuteSqlTran(al);
                using (TransactionScope scope = new TransactionScope())
                {
          
                    TX.Components.BLL.orderinfo OrderInfo = new TX.Components.BLL.orderinfo();
                    orderinfo _orderinfo = new orderinfo();
                    _orderinfo.orderinfo_dealman = 0;
                    _orderinfo.orderinfo_paymethod = 2;
                    _orderinfo.orderinfo_postdate = DateTime.Now;
                    _orderinfo.orderinfo_re = "";
                    _orderinfo.orderinfo_shippeddate = DateTime.Now;
                    _orderinfo.orderinfo_status = 1;
                    _orderinfo.orderinfo_total = 0;
                    _orderinfo.orderinfo_uid = Convert.ToInt32(id);
                    int n = OrderInfo.Add(_orderinfo);//取订单id                    TX.Components.BLL.shoppingcart ShoppingCart = new TX.Components.BLL.shoppingcart();
                    TX.Components.BLL.orderiteminfo OrderItemInfo = new TX.Components.BLL.orderiteminfo();
                    orderiteminfo _orderiteminfo = new orderiteminfo();
                    DataSet ds = ShoppingCart.GetList("shoppingcart_uid=" + Convert.ToInt32(id));
                    DataRow[] dr = ds.Tables[0].Select();
                    int total = 0;
                    foreach (DataRow drs in dr)
                    {
                        _orderiteminfo.orderiteminfo_goodid = Convert.ToInt32(drs["shoppingcart_productid"]);
                        _orderiteminfo.orderiteminfo_orderid = n;
                        _orderiteminfo.orderiteminfo_postdate = DateTime.Now;
                        _orderiteminfo.orderiteminfo_quantity = Convert.ToInt32(drs["shoppingcart_quantity"]);
                        _orderiteminfo.orderiteminfo_title = drs["shoppingcart_title"].ToString();
                        _orderiteminfo.orderiteminfo_uid = Convert.ToInt32(id);
                        _orderiteminfo.orderiteminfo_unitprice = Convert.ToInt32(drs["shoppingcart_unitprice"]);
                        OrderItemInfo.Add(_orderiteminfo);
                        total += Convert.ToInt32(drs["shoppingcart_unitprice"]) * Convert.ToInt32(drs["shoppingcart_quantity"]);
                    }                    _orderinfo.orderinfo_total = total;
                    OrderInfo.Update(_orderinfo);                    scope.Complete();                    return n;
                }
            }
            else
            {
                return 0;
            }
                         
        }
        #endregion“Microsoft.Jet.OleDb.4.0”提供程序不支持 ITransactionLocal 接口。本地事务不可用于当前提供程序。 
怎么办啊,大家帮忙啊

解决方案 »

  1.   

    ..access  不支持事务请用 SQL SERVER
      

  2.   

    lz 把 Access 当成啥了...
      

  3.   

    那怎么办啊,我用ACCESS做购物车的啊,有没有变通的方法阿
      

  4.   

    Access 是支持事务处理的。
      

  5.   

    System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
                conn.ConnectionString = "...";
                conn.Open();           System.Data.OleDb.OleDbTransaction trans =  conn.BeginTransaction();           try
               {
                   //你的数据操作..
                   trans.Commit();
               }
               catch(Exception e)
               {
                   trans.Rollback();
               }