#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 接口。本地事务不可用于当前提供程序。
怎么办啊,大家帮忙啊
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 接口。本地事务不可用于当前提供程序。
怎么办啊,大家帮忙啊
conn.ConnectionString = "...";
conn.Open(); System.Data.OleDb.OleDbTransaction trans = conn.BeginTransaction(); try
{
//你的数据操作..
trans.Commit();
}
catch(Exception e)
{
trans.Rollback();
}