C#开始事务后循环比较插入数据问题
想通过DATAGRID做一个出库单;一次出库可能出多个物料;
做保存的时候;先通过出库单的物料和仓库作为条件,去查询库存,
如果库存数量大于出库数量,则插入数据库。否则多行数据全部失败。
代码:
try
{
begintran;
for (int i = 0; i < this.dataGridView1.Rows.Count - 1; i++)
{
对datagrid每一行的物料和出库库位查询库存
if (查询库存>输入数量)
{
插入数据
}
else
{
无库存
}
}
commitran;
}
catch (Exception ex)
{
tran.Rollback()
}
只要FOR循环里有一条数据大于库存数量则整个单据不保存;
不过按照此思路;做了半天无结果;保存一条数据可以;
保存多条数据不是挂起事务;就是超时;
是否有其他办法实现()?