Löschen und Einfügen im CRecordset
-
Hallo Leute,
ich hab folgendes Problem. Ich benutze ein CRecordset in verbindung mit einer MS Acces Datenbank (.mdb) weiß nicht ob das relevant ist. Ich erstelle mit mit Hilfe des Visual Studio eine neue Klasse "MyRecordset" die von CRecordset erbt. Direkt bei der erstellung der neuen Klasse muss angegeben werden auf welche Datenbank zugegriffen werden soll etc. Ich wähle EINE Tabelle aus. Die Daten auflisten und oder bearteiten geht wunderbar nur das löschen und hinzufügen von Records nicht. Ich bekomm folgende Fehlermeldung beim löschen eins Datensatz Der Datensatz kann nicht gelöscht oder geändert werden, da die Tabelle "Hier steht eine Tabelle" in beziehungstehende Datensätze enthält.
Mein Quellcode:
BOOL CDB_BEISPIELDlg::DeleteData(int nZeile) { m_Recordset->Open(); m_Recordset->Move(nZeile); m_Recordset->Delete(); m_Recordset->Close(); }...
Weiß jemand vieleicht wie das geht, wäre nett...
mfg Jan
-
Ich deute die Fehlermeldung mal so:
Die Tabelle hat eine Relation zu einer anderen Tabelle und evtl. keine Cascading Deletes.Beispiel: Du kannst also den Auftragsdatensatz nicht löschen, weil noch Positionen in einer anderen Tabelle stehen, die die Id aus der Auftragstabelle verwenden. Stichwort Foreign Keys!
-
Moin,
Sowas hab ich mir auch gedacht.. nur muss es doch einen weg geben wie man den datensatz trotzdem löschen kann..
aber danke schonmal
mfgJan
-
Natürlich. Zuerst die abhängogen Daten löschen. Oder wenn es eine SQL Datenbank ist, die Struktur so ändern, dass Cascading Deletes verwendet werden.
-
Hi...
wie bring ich meine DB dazu cascading deletes zu verwenden ?! im Fall von CRecordset

mfg
-
Das machst du in der Datendbank und nicht im Recordset.
