如何解决ADODB多用户覆盖数据
我在MS Access 2016中拥有数据库,并通过Excel VBA运行更新查询。有时,由于UPDATE语句中的条件,多个用户可以同时执行此操作,然后在不应该覆盖的情况下覆盖其数据。
如何阻止数据覆盖?
当我在Access中打开表时,在VBA中的运行查询与表中的信息之间会有几秒钟的延迟。也许这种延迟是问题所在,并且可以通过某种方式消除?
数据库分为FE和BE,并且连接是持久的。
我的查询:
UPDATE
(SELECT TOP 1 ID,Col1,Update_time,Update_user
FROM Table1
WHERE Update_user Is Null
ORDER BY Col2 DESC,ID) AS U_ROW
SET U_ROW.Update_time = Now(),U_ROW.Update_user = [username];
在Excel VBA中,我通过ADODB运行它。命令:
With baseRecordsetCommand
.ActiveConnection = objectConnection
.CommandType = adCmdstoredProc
.CommandText = "qryTest"
.NamedParameters = True
.Parameters.Append .CreateParameter("@username",adVarChar,adParamInput,255,Username)
.Execute recordsAffected
End With
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。