Failed changes in onupdaterecord leave dataset in what state?

Howdy,

In an OnUpdateReocrd procedure, when I issue a Delete statement (for
example) that fails due to whatever constraints, the dataset goes into a
state where all fields become <null> and I am unable to position the cursor
through any calls to First, Locate etc...

Basically, when an update fails, I need to be able to refresh the dataset
and reposition the cursor all from within the OnUpdateRecord proc, but given
the above circumstances, this doesn't seem possible.

Can I avoid this <null> dataset state somehow?

Cheers for any ideas,

Josh.