bigpoint Geschrieben 9. Dezember 2002 Geschrieben 9. Dezember 2002 Hallo, ich greife auf DB mit ADO zu es funktioniert alles wunderbar bis auf Delete() hier Quelcode: void lala::Delete() { try { // Aktuellen Datensatz aktualisieren m_piAdoRecordBinding->Update(&m_rsRecSet); // Kann ein Datensatz gelöscht werden? if (m_pRs->Supports(adDelete)) { // Nachfragen, ob Benutzer wirklich diesen Datensatz löschen will if (AfxMessageBox("Diesen Datensatz wirklich löschen?", MB_YESNO | MB_ICONQUESTION) == IDYES) { // Datensatz löschen m_pRs->Delete(adAffectCurrent); // Aktuellen Datensatz aktualisieren m_pRs->MoveLast(); } } } // Fehler? catch (_com_error &e) { // Fehlermeldung generieren GenerateError(e.Error(), e.Description()); } } bei Delete ist es so das ich kann zwar den Datensatz löschen aber im Dialog entweder wird er angezeigt oder springt zwei weiter das heißt wenn ich die Nr 6 lösche und m_pRs->MoveLast(); benutze springt er auf 4 sonst bleibt er auf 6 stehen habe alles versucht auch UpdateData(FALSE); usw. hilft aber nichts ;-(((((( Ich arbeite mit SDI [edit: bitte die Code-Tags verwenden, damit die Einrückung erhalten bleibt | Klotzkopp]
Klotzkopp Geschrieben 9. Dezember 2002 Geschrieben 9. Dezember 2002 Das scheint so weit in Ordnung zu sein. Mit Anzeigen hat der gezeigte Code auch nichts zu tun. Machst Du an anderer Stelle vielleicht noch ein MoveNext oder MovePrevious?
bigpoint Geschrieben 10. Dezember 2002 Autor Geschrieben 10. Dezember 2002 Originally posted by Klotzkopp Das scheint so weit in Ordnung zu sein. Mit Anzeigen hat der gezeigte Code auch nichts zu tun. Machst Du an anderer Stelle vielleicht noch ein MoveNext oder MovePrevious? Ja beides und zwar in eigenem Methoden so: void laladoc::MovePrevious() { if(m_pRs->BOF == FALSE){ try { // Aktuellen Datensatz aktualisieren m_piAdoRecordBinding->Update(&m_rsRecSet); // Zum vorherigen Datensatz gehen m_pRs->MovePrevious(); } // Fehler? catch (_com_error &e) { // Fehlermeldung generieren GenerateError(e.Error(), e.Description()); } }else AfxMessageBox("Sie haben den ersten Datensatz erreicht"); } void lalaDoc::MoveNext() { try { // Aktuellen Datensatz aktualisieren m_piAdoRecordBinding->Update(&m_rsRecSet); // Zum nechsten Datensatz gehen m_pRs->MoveNext(); if (m_pRs->EndOfFile){ AfxMessageBox("Sie haben den letzten Datensatz erreicht"); m_pRs->MoveLast(); } } // Fehler? catch (_com_error &e) { // Fehlermeldung generieren GenerateError(e.Error(), e.Description()); } aber ich verstehe nicht was kann es damit zu tun haben ???
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden