我正在使用vb.net
和access
制作我的第一个项目。我正在尝试开发一个项目,其中从不同的柜台添加患者的数据。当我只开发一个计数器在数据库中添加数据但是当两个计数器访问同一个数据库并尝试保存记录时,它提供的错误主键不能重复。
我在做什么,首先我要生成一个主要密钥号码,即患者不是每个患者都有的。病人没有。是最后保存记录的一个增量。然后用户输入(计数器数据输入操作员)添加患者详细信息,然后点击保存按钮。
在多用户环境中,两个操作员都生成相同的患者号码。当他们点击新的记录按钮时,两者都看到同一个上次保存的记录。保存记录时,一个操作员成功保存记录,但其他操作员得到重复的主键错误。
悲观和乐观的锁对我不起作用,或者我不理解如何使用它们。
rsS As New ADODB.Recordset
rsS.Open(str, conn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockPessimistic)
我尝试过:
我还试图通过保存病人来解决这个问题。在另一个变量oldPatientno
中,如果数据库中有任何变化,则保存已检查的记录,然后重新生成患者号。但这不起作用。