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
DBGrid - Einträge löschen
- 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
Das hast Du gemacht
Das solltest Du im Anschluss machen
Gruß,
Michael
Code: Alles auswählen
DBGrid1.DataSource.DataSet.Delete;
Code: Alles auswählen
SQLQuery1.ApplyUpdates;
SQLTransaction1.Commit;
Michael
=> Mint 22.1 “Xia” - Win 10/11 - Lazarus 3.8 - FPC 3.2.2
-
- 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
oder du löst das in dem du das
setzt ( danke @paweld). Damit werden Änderungen sofort wirksam und auch in die Datenbank aktualisiert
Code: Alles auswählen
SQLQuery1.Options := [sqoAutoApplyUpdates, sqoAutoCommit];