Probleme beim Nachverfolgen von Änderungen in einem Grid/beim Kopieren von recordsets

29/08/2007 - 09:09 von Stefan Wagenbrenner | Report spam
Guten Morgen,

zunàchst eine kurze Erklàrung, was ich machen möchte: Ich möchte
Änderungen in einem sevDataGrid nachverfolgen.
Hierzu öffne ich zunàchst per rs.Open "SELECT * ..." (gekürzte
SQL-Anweisung) ein recordset, welches ich dann als Quelle dem
sevDataGrid zuweise. Da Änderungen in diesem Grid sofort in die
Datenbank geschrieben werden (AutoUpdate = True) und der Nutzer
möglicherweise die Änderungen zurücknehmen möchte, lege ich noch ein
Backup-recordset an, welches ich wie folgt erstelle (das kopieren eines
recordset-Objekts mittels eines Stream-Objekts habe ich in den Groups
gefunden):

rs.Save oStream, adPersistXML
oRsClone.Open oStream
Set rs_Backup = oRsClone

Möchte der Nutzer seine Änderungen nicht speichern, so dachte ich,
verwende ich die Anweisungen zum kopieren in der umgekehrten Weise, aber
das klappt nicht. Es gibt zwar keine Fehlermeldung, die Werte in der
Datenbank werden aber auch nicht geàndert.
Alternativ hatte ich vor die Eintràge im rs per rs.Delete einzeln zu
löschen und dann per rs.Open "EXEC ..." auch wieder einzeln aus dem
rs_Backup einzufügen. Hierbei kommt es aber zu einem Laufzeitfehler
-2147217887 (80040e21) (Fehler bei einem aus mehreren Schritten
bestehenden OLE DB-Vorgang (...)).

Habt ihr einen passenden Ratschlag für mich? Oder wie würdet ihr das
Problem lösen?


Vielen Dank im voraus

Stefan Wagenbrenner
 

Lesen sie die antworten

#1 Gert Wietzorek
29/08/2007 - 11:49 | Warnen spam
Hallo Stefan,

Stefan Wagenbrenner schrieb:

Möchte der Nutzer seine Änderungen nicht speichern, so dachte ich,

Habt ihr einen passenden Ratschlag für mich? Oder wie würdet ihr das
Problem lösen?




Sowohl ADO, als auch DAO kennen BeginTrans, CommitTrans und
RollbackTrans. Sieh Dir das in der Hilfe an, je nachdem, welche Art Dein
Recordset hat, musst Du dies unterschiedlich implementieren.

Gert




| Antworten nur in die Newsgroup, |
| die E-Mail Adressen existieren nicht! |
| |
| answers and questions only to the newsgroup,|
| the email adresses are not valid |
| |
| http://www.gwsoftware.de |

Ähnliche fragen