请问在多用户情况下如何处理并发操作

时间:2022-08-29 11:35:26
本来用的是access,各个客户机用自己的数据库。保存表时先insert一个主表,用select max(id)获得这个表的id,然后在明细表时把id存到“主表id”字段中。现在需要把不同数据库合并,把程序变成多用户的,以后用sqlserver处理。其他细节虽然麻烦但是可以改。只是在多用户情况下如何确保主表id和明细表对应字段相同?因为还用老方法的话可能一个人insert主表,select max(id)之前另外一个人也insert一个主表,这样表明细就串了。请问如何处理?谢谢。

3 个解决方案

#1


insert主表,select max(id) 放入一个transaction中

#2


使用事务,并且需要在repeatable read隔离级别下。

当前,你需要先补充一些数据库技术知识才行。

#3


引用 2 楼 lvcheng606717 的回复:
使用事务,并且需要在repeatable read隔离级别下。

当前,你需要先补充一些数据库技术知识才行。


楼上说的是。是要补充些知识啦。
可不可以简单说说关键点。关键的代码。vb.net怎样调用transaction?我学起来也比较容易。这个工作比较急,要是学几百页的书太慢了。

#1


insert主表,select max(id) 放入一个transaction中

#2


使用事务,并且需要在repeatable read隔离级别下。

当前,你需要先补充一些数据库技术知识才行。

#3


引用 2 楼 lvcheng606717 的回复:
使用事务,并且需要在repeatable read隔离级别下。

当前,你需要先补充一些数据库技术知识才行。


楼上说的是。是要补充些知识啦。
可不可以简单说说关键点。关键的代码。vb.net怎样调用transaction?我学起来也比较容易。这个工作比较急,要是学几百页的书太慢了。