private void SetTransaction()
{ ///创建LinqDB数据库上下文的实例
LinqDBDataContext db = new LinqDBDataContext(LinqSystem.LinqDBConnectionString);
///创建TransactionScope事务
using(TransactionScope ts = new TransactionScope())
{
try
{
Product p1 = db.Product.First(p => p.ID > 1);
Product p2 = db.Product.First(p => p.ID > 2);
///修改商品的库存和销售数量
p1.SaleNumber += 10;
p1.Stock += 10;
p2.SaleNumber += 20;
p2.Stock -= 20;
///将修改提交到数据库
db.SubmitChanges();
Response.Write(p1.ID + " " + p2.ID);
}
catch(Exception ex)
{
Response.Write("修改商品库存发生错误,原因如下:<br />" + ex.Message);
}
}
}为什么我用了Using(ransactionScope.......
那段后对数据库的更新不起作用,而且也不报错
但注释using(TransactionScope ts = new TransactionScope())对数据库的操作又起作用 试了很多只要加 TransactionScope 就不对了
解决方案 »
- AutoCompleteExtender使用问题
- 关于自定义控件事件问题
- 我想取一个图片的地址,然后将其放到数据库里.但是总是取错东西.帮我看一下好么???
- sql查找性能问题!!!
- 为什么在删除时会出现ObjectDataSource“ObjectDataSource1”未能找到接受“EntityLayer.ArticleTypeEntity”类型的参数的非泛型方法“De
- 在线求助:多文件上传后改名问题!(刚才没完全搞定) wangsaokui, cpp2017(幕白兄)morality(业精于勤,行成于思!) 大哥们再进来看看
- 怎么改变URL的最大长度
- 请教一个数据库操作的问题
- 如何设置条件断点?!
- 如何显示在线人员名单?
- 存储过程报错!!!怎么写啊
- GridView控件使用的一个问题。
ts.Complete();
private void SetTransaction()
{ ///创建LinqDB数据库上下文的实例
LinqDBDataContext db = new LinqDBDataContext(LinqSystem.LinqDBConnectionString);
///创建TransactionScope事务
using(TransactionScope ts = new TransactionScope())
{
try
{
Product p1 = db.Product.First(p => p.ID > 1);
Product p2 = db.Product.First(p => p.ID > 2);
///修改商品的库存和销售数量
p1.SaleNumber += 10;
p1.Stock += 10;
p2.SaleNumber += 20;
p2.Stock -= 20;
///将修改提交到数据库
db.SubmitChanges();
Response.Write(p1.ID + " " + p2.ID);
}
catch(Exception ex)
{
Response.Write("修改商品库存发生错误,原因如下:<br />" + ex.Message);
}
ts.Complete();//提交事物,如不提交或者是发生异常事物会自动回滚
}
}