有一张入库单,分为主表和明细表,主表的单据号和明细表的单据关连,单据为为 Bill_no
主表的数据存放在 一个 DataTable 起名为:mainDt
明细表的数据存放在 一个 DataTable 起名为:infoDt录入数据时分别存放在 mainDt 和 infoDt 的DataTable 中在sql2008中创建一个存储过程:
create procedure InputOrder
{
@oraderMain as InMain readonly,
@orderDetail as InDetail readonly
as
……
//这里执行一段很长的代码
}用户保存时,将两个DataTable: mainDt 和 infoDt 传给存储过程 InputOrder。
在存储过程 InputOrder中,首先取得主表的单据号+1,然后insert into 主表,
把新取得的单据号insert into 明细表。单据的保存用事务。现在情况来了,当有很多个用户同时在保存单据的时候,如果某个用户出现异常,要回滚操作,这时会出现断号的现象。
这种问题有哪方面的解决方案呢?
主表的数据存放在 一个 DataTable 起名为:mainDt
明细表的数据存放在 一个 DataTable 起名为:infoDt录入数据时分别存放在 mainDt 和 infoDt 的DataTable 中在sql2008中创建一个存储过程:
create procedure InputOrder
{
@oraderMain as InMain readonly,
@orderDetail as InDetail readonly
as
……
//这里执行一段很长的代码
}用户保存时,将两个DataTable: mainDt 和 infoDt 传给存储过程 InputOrder。
在存储过程 InputOrder中,首先取得主表的单据号+1,然后insert into 主表,
把新取得的单据号insert into 明细表。单据的保存用事务。现在情况来了,当有很多个用户同时在保存单据的时候,如果某个用户出现异常,要回滚操作,这时会出现断号的现象。
这种问题有哪方面的解决方案呢?
解决方案 »
- 我在gridview里面写了一个按钮,这个按钮怎么样才能根据这行的ID来处理该行的数据。
- System.ArgumentOutOfRangeException: StartIndex 不能小于 0。
- JQuery datatable的td中嵌套icon button的问题
- TreeView已经成功动态加载,但是怎么完成导航?
- 100分进
- 网站相对路径问题,多次问人以及搜索无果,请CSDN牛人解答,感激
- 救命啊,access数据库怎么只能查询,不能添加修改
- 请问,这个教材里讲的这个例子如何运行?
- 在ASP.NET中关于web config的配置的问题
- DataList排序?
- 导出excel保存后,怎样刷新页面(急啊)
- GV之间单元格联动问题~
理论上update出错的概率很低,要做到万无一失,像sp1234说的,串行提交