可能在数据库层 用Stored Proc 来保障事务的一致性可能更简单一点

解决方案 »

  1.   

    你对数据库的处理是放在Sell中吗?
    你对数据库的处理是批处理所有的买卖吗?
    代码不完全,很难说的清楚啊其实你可以在操作数据库前先检查对应货品的库存啊
    而且我也没搞懂为什么无库存就会出错(你的sql怎么写的?)
      

  2.   

    如果单纯讲ado.net的事务,你可以这样咯sqltransaction sqt = cnn.begintransaction()cmd.transaction = sqt
    然后就执行sql语句
    所有都执行完后sqt.commit();