首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

access与事务,该怎么处理

2011-12-28 
access与事务#region根据用户ID生成定单publicstaticintGenerateDealById(stringid){if(Utils.IsNumber(id

access与事务
#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_remark   =   " ";
                                        _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   接口。本地事务不可用于当前提供程序。  


怎么办啊,大家帮忙啊

[解决办法]
..access 不支持事务

请用 SQL SERVER
[解决办法]
lz 把 Access 当成啥了...
[解决办法]
哦耶,自己一步一步存,记下每步的返回值,如果其中一步失败了,把成功都还原---添加的删掉,删除的重加,修改的再改回来,问题是:还原的时候怎么办?我也不知道了
[解决办法]
Access 是支持事务处理的。
[解决办法]
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();
}

热点排行