![]() |
Datensatz löschen klappt nicht (Interbase)
Hallo !!
Ich habe folgendes Problem: In meinem Programm, welches Datensätze verändern soll, hinzufügen etc. klappt das Löschen von Datensätzen nicht richtig. Ich kann zwar im DBNavigator den DS löschen, er verschwindet dann auch aus dem DBGrid (z.B), aber beim Neustart vom Programm ist der gelöschte DS wieder da.. Alles andere, wie neue Datensätze erstellen klappt.. Kann mir evtl. jmd helfen?? Danke mcmac |
Re: Datensatz löschen klappt nicht (Interbase)
Du musst wahrscheinlich noch die datenbank aktualisieren, also die Änderung speichern. Dazu sollte Interbase eine entsprechende Method ebereitstellen.
|
Re: Datensatz löschen klappt nicht (Interbase)
Hallo mcmac,
man könnte dir wesentlich besser helfen wenn man wüßte wie du auf die Interbase-datenbank zugreifst. Mit der BDE mit IBX oder mit was anderem. Deshalb bitte mal etwas mehr Infos rüberwachsen lassen |
Re: Datensatz löschen klappt nicht (Interbase)
Hi,
ich rate mal ins Blaue - du setzt innerhalb deiner Transaktion kein Commit ab! Dann wird nach dem Schließen deines Programmes alles zurückgerollt und der Datensatz ist wieder da. Ebenso dürften neu eingefügte Sätze und geänderte nicht übernommen werden. MfG Stevie |
Re: Datensatz löschen klappt nicht (Interbase)
neue datensätze werden übernommen, das ist ja das merkwürdige daran..
Noch n paar Infos: die DB läuft mit Firebird, aber zum Einrichten habe ich IBExpert genommen.. In Delphi läuft die mit IBX |
Re: Datensatz löschen klappt nicht (Interbase)
ergänzung: änderungen übernimmt es auch net
|
Re: Datensatz löschen klappt nicht (Interbase)
Genau das Problem kenn ich, das hatte ich auch. Leider weiß ich nicht mehr, was es genau war...
Ist IBExpert offen? Mach's mal zu, bzw. Datenbank disconnecten. In der IDE connected -> disconnecten und erst zur Laufzeit. Mit nem Monitor prüfen, ob auch commited wird! Wenn ich mich nicht allzu irre, können in Firebird auch Datensätze gelockt werden, dass heißt, diese Sätze können nicht geändert oder gelöscht werden... |
Re: Datensatz löschen klappt nicht (Interbase)
Hmm, wie kann ich das denn überprüfen??
IBExpert läuft net mehr, lief eig gar net.. |
Re: Datensatz löschen klappt nicht (Interbase)
Also ist das löschen net so das Problem, sondern halt nur das Commit..
Hmm, vielleicht hilft's, wenn ich mir das Datamodule noch mal neu aufbau.. |
Re: Datensatz löschen klappt nicht (Interbase)
Zitat:
Grund: Interbase/Firebird arbeitet mit einer Multigenerationenarchitektur. P.S. Deshalb kennt der Interbase/Firebird auch keine Log-Dateien. |
Re: Datensatz löschen klappt nicht (Interbase)
Es gibt ne Komponente TIBSQLMonitor, damit müsste das gehen.
Ich könnte dir aber auch die ZEOS-Komponenten empfehlen, die funktionieren einwandfrei mit Firebird! P.S. Hmm, ich weiß nur, dass ich mal nen Datensatz, der im IBExpert ausgewählt war, nicht ändern konnte. |
Re: Datensatz löschen klappt nicht (Interbase)
habe jetzt mal das DataModul neu aufgebaut, aber der Fehler bleibt gleich...
Gibts net irgendwie einen Befehl, mit dem ich delphi zwingen kann, in der DB einen Commit durchzuführen?? Vielleicht als Property von der IBTransaction oder so?? |
Re: Datensatz löschen klappt nicht (Interbase)
Zitat:
|
Re: Datensatz löschen klappt nicht (Interbase)
Hmm, das habe ich gemacht, sieht jetzt so aus:
(Nicht erschrecken wegen dem Navigator-Zeugs - Spart Zeilen)
Delphi-Quellcode:
Dummerweise klappt das net
procedure TForm1.Button8Click(Sender: TObject);
begin dbnavigator1.BtnClick(nbdelete); cvsdata.DataModule1.IBTransaction1.CommitRetaining; end; |
Re: Datensatz löschen klappt nicht (Interbase)
Hrm, wie wär's damit im AfterDelete-Event des DataSets - wenn du schon ein DataModul machst, dann gehört sowas ganz sicher da rein.
|
Re: Datensatz löschen klappt nicht (Interbase)
Also ich habe es jetzt auch im AfterDelete und AfterEdit vom DataSet, aber es bringt rein gar nichts..
*seufz* So langsam verzweifel ich |
Re: Datensatz löschen klappt nicht (Interbase)
Merkwürdig - Habe zum Test mal ein neues Projekt gemacht, neue Tabelle in gleicher DB und *schwupps* - Es klappt ALLES...
Narf, ich glaube ich setze jetzt nochmal bei der Tabelle selbst an... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz