Delphi: Daten-Abgleich zwischen ListBox und Tabelle (D6)
Frage von Muschelknacker | 06.11.2021 um 18:45
Ich erstelle einen neuen Eintrag in einer ListBox und gleichzeitig in einer Tabelle, wie folgt :
procedure TForm1.neuBtnGClick(Sender: TObject); // neuen eintrag einfügen begin if (Editobject.Text = '') then exit; if (Editobject.Text <> '') then begin LBobject.Items.Add(Editobject.Text); try objectTable.Open; objectTable.Insert; objectTable.FieldByName('Gegenstand').AsString := Editobject.Text; objectTable.Post; objectTable.Close; except objectTable.Cancel; end; Editobject.Text := ''; end; neuBtnG.Enabled := False; end;
Wenn ich nun in der ListBox einen Eintrag lösche, dann muss dieser Eintrag auch in der Tabelle gelöscht werden.
Mein Ansatz lautet :
procedure TForm1.delBtnGClick(Sender: TObject); begin if LBobject.ItemIndex > -1 then begin // nur wenn ein Eintrag ausgewählt ist... LBobject.Items.Delete(LBobject.ItemIndex); // dann löschen try objectTable.Open; // ??? hier hab ich keine Lösung objectTable.Close; except objectTable.Cancel; end; end; delBtnG.Enabled := False; // löschen-Btn wieder false end;
Kann jemand helfen ??
Ähnliche Themen
Delphi/Lazarus: Text langer Items als Hint in ListBox anzeigen
Tutorial | 0 Kommentare
Delphi/Lazarus: Markierte Items aus ListBox mit ENTF-Taste löschen
Tipp | 0 Kommentare
MySQL: Daten aus Tabelle löschen - Unterschied zwischen TRUNCATE, DELETE und DROP
Tutorial | 0 Kommentare
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
SQLite: Überprüfen ob Tabelle existiert
Info | 0 Kommentare
MySQL: Neue Spalte zu einer Tabelle hinzufügen
Tutorial | 0 Kommentare
Android Programmierung: Response von HTTP POST Request empfangen
Tutorial | 3 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Du machst leider keine Aussagen dazu, wie deine Tabelle aufgebaut ist. Hat sie einen Index? Enthält sie nur Strings?
Wenn du nicht über Indices arbeiten möchtest und die Tabelle nur Strings enthält, hol dir zunächst den selektierten Text aus der Listbox:
Und dann löscht du diesen Text aus der Tabelle:
Du solltest deinen Code aber umstrukturieren und das Löschen des Items ans Ende stellen, also nur dann wenn das Löschen in der Tabelle erfolgreich war.
06.11.2021 um 23:58
Ja, die Lösung gefällt mir.
Besten Dank.
Und meine Tabelle hat keinen Index.
Sie besteht aus dem Feld ID als Autoinc und dem Feld Gegenstand als String.
Das erfolgreiche Löschen in der Tabelle könnte ich doch folgendermaßen überprüfen:
Kann das gehen? Ich teste mal.
Nochmal Danke..............
07.11.2021 um 16:47
Ich habe das obige getestet, damit geht garnix.
Aber hier die Lösung:
Diese veränderlichen Einträge werden benötigt um dann ComboBoxen und Picklisten (DBGrid) zu füllen.
mfg...........
28.11.2021 um 17:35