何时是调用 DBEngine.Idle dbRefreshCache 的合适时间?
Posted
技术标签:
【中文标题】何时是调用 DBEngine.Idle dbRefreshCache 的合适时间?【英文标题】:When is the appropriate time to call DBEngine.Idle dbRefreshCache? 【发布时间】:2012-02-17 11:45:51 【问题描述】:在VB6中使用DAO,这两个例子中哪个是DBEngine.Idle dbRefreshCache
的最明智的使用?
示例 1:
customers.Index = "primarykey"
customers.Seek "=", this_date, supplier
DBEngine.Idle dbRefreshCache
示例 2:
DBEngine.Idle dbRefreshCache
customers.Index = "primarykey"
customers.Seek "=", this_date, supplier
【问题讨论】:
取决于您何时刷新缓存 :) 说真的,我们还能给出什么其他答案? 在.Seek
通话之前还是之后?我之前会考虑过,但我正在查看之后的遗留代码,所以我只是想检查一下。
【参考方案1】:
看起来 customers
是一个 ADO recordset?所以示例 2(首先刷新缓存)会更有意义。
DBEngine.Idle dbRefreshCache
is used to同步两个进程之间的读写。如果您在Seek
之前发出DBEngine.Idle dbRefreshCache
,ADO 记录集Seek
操作搜索更有可能显示另一个进程所做的更改。
我想一个问题是是否真的有另一个过程在改变数据?或者(可能)来自同一个程序的另一个数据库连接?如果没有,则根本不需要刷新缓存。
【讨论】:
它是一个多工作站系统,所以会有其他进程访问数据库。以上是关于何时是调用 DBEngine.Idle dbRefreshCache 的合适时间?的主要内容,如果未能解决你的问题,请参考以下文章