微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ADODB多用户覆盖数据

如何解决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 举报,一经查实,本站将立刻删除。