FIX: New Record Not Inserted to End of Recordset (164615)
The information in this article applies to:
- The Microsoft Foundation Classes (MFC), when used with:
- Microsoft Visual C++, 32-bit Enterprise Edition 4.2
- Microsoft Visual C++, 32-bit Professional Edition 4.2
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0
- Microsoft Visual C++, 32-bit Professional Edition 5.0
This article was previously published under Q164615 SYMPTOMS
The Microsoft Foundation Classes (MFC) documentation for
CDaoRecordset::AddNew() and the DAO SDK documentation for the AddNew
method state:
"The position of the record depends on the type of Recordset:
- In a dynaset-type Recordset object, records are inserted at the end
of the recordset, regardless of any sorting or ordering rules that may
have been in effect when the recordset was opened."
The documentation is incorrect. Beginning with Jet 3.0, this behavior is
not guaranteed. The behavior was changed to improve performance as well as
concurrency issues.
To demonstrate the change in behavior, delete a record in a recordset of
300+ records and then call AddNew(). Then, traverse the recordset until
you see where the record has been added. Typically, this record will be
inserted in the 253rd record rather than at the end of the recordset.
STATUS
This problem was corrected in the documentation for Visual C++, version
6.0.
Modification Type: | Major | Last Reviewed: | 12/10/2003 |
---|
Keywords: | kbBug kbDatabase kbdocerr kbDocs kbfix kbNoUpdate kbVC600fix KB164615 |
---|
|