>Naomi,
>
>>I understand the pcinciple, but if you can post the code of your subclass, it will be most helpful.
>
>I am in a public computer now, but my codes goes something like this...
>
>In my DE subclass, I have the following methods: BeginTrans(), CommitTrans(), RollBackTrans(), SaveTrans().
>
I am not sure this is a good idea. If you turn off automatic transactions then the "begin transaction" is automatic. Then all you need to do is either sqlcommit() or sqlrollback(). What you are doing is nesting transactions which I don't think is a good idea especially if you don't do a sqlcommit() at the end.
>
>BeginTrans()
>= SQLEXEC( This.DataSource, "BEGIN TRANSACTION" )
>
>CommitTrans()
>= SQLEXEC( This.DataSource, "COMMIT" )
>
>RollbackTrans()
>= SQLEXEC( This.DataSource, "ROLLBACK" )
>
>SaveTrans()
>* loop thru each CA object
>* dump into a Collection oCursors
>
>llCommit = .T.
>
>FOR EACH loCursor IN oCursors
> IF NOT loCursor.Save()
> llCommit = .F.
> ENDIF
>ENDFOR
>
>IF llCommit
> This.CommitTrans()
>ELSE
> This.RollBackTrans()
>ENDIF
>
>
>
>HTH,
>
>Dennis
>
>
>
>