DBGrid - Einträge löschen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
BoraBora
Beiträge: 53
Registriert: So 11. Apr 2021, 16:00
OS, Lazarus, FPC: FPC 3..2.2, L 2.2.0 , Linux Mint, WIN 10&11, Android,
CPU-Target: xxBit

DBGrid - Einträge löschen

Beitrag von BoraBora »

Hallo,

ich arbeite zum ersten Mal mit einem DBGrid. Dieses weist auf eine SQlite-Datenbank.
Datensätze hinzufügen etc. ist kein Problem.
Der User soll aber per rechtem Mausklick die Möglichkeit haben, Datensätze zu löschen.
Im Mousedown des DBgrids habe ich dieses eingebaut:
DBGrid1.DataSource.Dataset.Delete;
Funktioniert wunderbar- der Datensatz verschwindet aus dem Grid und der Cursor bleibt
dort stehen, wo er war.
Aber diese Änderungen werden nicht gespeichert.
Ich habe jetzt schon alles Mögliche gelesen und getestet: es gelingt mir nicht,
die Änderungen zu speichern.

Bin für jeden Hinweis dankbar.

BB

Benutzeravatar
Swirl
Beiträge: 100
Registriert: Fr 7. Aug 2015, 14:05
OS, Lazarus, FPC: Win 11 / Mint 22.1 / Lazarus 3.8 / FPC 3.2.2
CPU-Target: x86_64, ARM Cort.-A7
Wohnort: Schwerte NRW

Re: DBGrid - Einträge löschen

Beitrag von Swirl »

Das hast Du gemacht

Code: Alles auswählen

DBGrid1.DataSource.DataSet.Delete;
Das solltest Du im Anschluss machen

Code: Alles auswählen

SQLQuery1.ApplyUpdates;
SQLTransaction1.Commit;
Gruß,
Michael
=> Mint 22.1 “Xia” - Win 10/11 - Lazarus 3.8 - FPC 3.2.2

charlytango
Beiträge: 1080
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: DBGrid - Einträge löschen

Beitrag von charlytango »

oder du löst das in dem du das

Code: Alles auswählen

SQLQuery1.Options := [sqoAutoApplyUpdates, sqoAutoCommit]; 
setzt ( danke @paweld). Damit werden Änderungen sofort wirksam und auch in die Datenbank aktualisiert

Antworten