2012-01-24 3 views
1

VB6でDAOを使用すると、2つの例のうちどちらが最も合理的に使用されますかDBEngine.Idle dbRefreshCacheDBEngine.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 
+0

キャッシュをリフレッシュするときに依存します:)真剣に、他にどのような答えを与えることができますか? – MarkJ

+0

'.Seek'コールの前後に?私は以前は思っていたが、それを持つレガシーコードを見ているので、ちょうどチェックしたかった。 – CJ7

答えて

1

customersはADO recordsetであるように見えますか?したがって、例2(最初にキャッシュをリフレッシュする)はより理にかなっています。

DBEngine.Idle dbRefreshCacheis used to 2つのプロセス間で読み書きを同期させます。 Seekの前にDBEngine.Idle dbRefreshCacheを発行すると、ADO Recordset Seek操作検索で別のプロセスの変更が表示される可能性が高くなります。

実際にデータを変更する別のプロセスがあるかどうかという疑問はありますか?または(おそらく)同じプログラムからの別のデータベース接続ですか?そうでなければ、キャッシュを全くリフレッシュする必要はありません。

+0

これはマルチワークステーションシステムであるため、データベースにアクセスする他のプロセスが存在します。 – CJ7

+0

例2です。 – MarkJ

関連する問題