PRB: Dynaset Loses Contents After Transaction RollbackLast reviewed: June 21, 1995Article ID: Q109995 |
|
The information in this article applies to:
- Standard and Professional Editions of Microsoft Visual Basic for Windows, versions 3.0
SYMPTOMSIf a Dynaset is used in a transaction, records in the Dynaset appear to be lost when the transaction is rolled back.
CAUSEThis is by design. A Dynaset is populated one record at a time, so the RollBack operation removes all the records added during the transaction. After the RollBack operation, the Dynaset contains the single record that was there before BeginTrans began the transaction.
RESOLUTIONCreate the complete Dynaset before starting the transaction. For example, replace the code shown in step 3 of the More Information section with this code:
Sub Command1_Click ()
Dim db As database
Dim ds As Dynaset
Set db = OpenDatabase("Biblio.mdb")
Set ds = db.CreateDynaset("authors")
' Create the complete Dynaset before starting the transaction.
ds.MoveLast
ds.MoveFirst
' Populate the listbox with the contents of the Dynaset.
BeginTrans
While Not ds.EOF
list1.AddItem ds(0)
ds.MoveNext
Wend
Rollback
ds.MoveFirst
While Not ds.EOF
list2.AddItem ds(0)
ds.MoveNext
Wend
End Sub
STATUSThis behaviour is by design. MORE INFORMATION
Steps to Reproduce Behavior
|
Additional reference words: 3.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |