BUG: Changes in an ISAM Table Not Seen by DAO (158230)



The information in this article applies to:

  • Microsoft Visual C++ 4.2

This article was previously published under Q158230

SYMPTOMS

A table-type or dynaset recordset may not see changes made by another recordset even though the page timeout setting (set in the registry) has expired for that ISAM. The internal recordset cache will not reflect the changes of the table. This happens with DAO ISAM types such as FoxPro and Paradox.

RESOLUTION

The only known way to get the recordset to successfully refresh the cache is to call MoveFirst() for the recordset or move a large number of records ahead in the recordset so that the cache gets refreshed.

If you choose to call MoveFirst() to refresh the cache, you can get the current record position by calling CDaoRecordset::GetBookmark() and then calling CDaoRecordset::SetBookmark() after the call to MoveFirst() to get back to the record you were on. At that point, the record contains the new contents.

STATUS

Microsoft has confirmed this to be a bug in DAO 3.0 version 3.000.2627. Microsoft will post new information here in the Microsoft Knowledge Base as it becomes available.

Modification Type:MajorLast Reviewed:10/16/2002
Keywords:kbBug kbDatabase KB158230