SQL Server,ADO锁定记录

时间:2019-02-25 13:07:13

标签: sql-server vba ado

我有一个Excel用户窗体,具有与SQL Server(Azure)表中完全相同的字段(文本框),并且我想让多个用户(每个用户都有他的Excel文件)添加,更新和删除记录。

添加/插入模式工作完美,操作顺序如下:

用户填写文本框,按“提交”,然后将“插入” SQL查询发送到SQL Server表,然后立即执行Select * SQL查询获取表并将其放入Excel工作表中。

如果用户想通过双击要更新子过程事件的行来更新记录,则将该记录加载到用户表单上的文本框中。

我的问题现在以更新模式开始。

我的目标是,当用户进入编辑模式时,我想锁定数据库表中的记录(通过记录ID字段),以防止其他用户更新确切的记录。

所以方法应该是这样的:

  1. 在用户要编辑的行上加倍

  2. 获取记录ID并检查记录是否未锁定在数据库中(在这一步中我需要帮助)

  3. 如果记录未锁定,则打开用户窗体,所有文本框均由相同的值(如Excel中的行)填充。 (此步骤不需要帮助)

  4. 当用户窗体随文本框一起打开时,我们需要获取记录ID并将记录锁定在数据库中,以防止其他用户更新。(在此步骤中,我需要帮助)

  5. 如果用户按下Submit,则更新记录并取消锁定(在这一步中我需要帮助)

  6. 要解决用户未提交的情况,我想限制锁定时间(如果可能),可以说180秒(在这一步中我需要帮助)

我是SQL的新手,所以如果您对我的需求有更好的建议,我将很高兴听到它。

谢谢!!

0 个答案:

没有答案