Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Listview Datensatz Datenbank löschen (https://www.delphipraxis.net/194835-listview-datensatz-datenbank-loeschen.html)

fabi17 11. Jan 2018 18:45

Listview Datensatz Datenbank löschen
 
Guten Abend,

ich habe eine Listview mit dem Listview-Designer für eine App erstellt. Leider habe ich Probleme damit die selektieren Einträge zu löschen. Wie schaffe ich das am einfachsten, wenn ich für mehrere Datensätze/Einträge ein Headeritem (Datum) habe? Ich habe versucht die einzelnen Einträge bei der Anlage über Itemcount hochzuzählen, als Art Identifier, und dann via SQL WHERE ID =... zu löschen.
Da leider die Headeritems mitgezählt werden kommt das aber spätestens am Folgetag zu Fehlern bei der ID...da die Zählung dann nicht mehr stimmt.

Das Ganze ist im Verbund mit einer SQLLite Datenbank.

Jemand eine Idee? :?::cyclops:

Lg

Luckie 11. Jan 2018 18:48

AW: Listview Datensatz Datenbank löschen
 
Nutze zur Datenhaltung eine entsprechende Datenstruktur und nicht den Listview. Nutze den Listview nur zur Darstellung.

Delphi.Narium 11. Jan 2018 19:03

AW: Listview Datensatz Datenbank löschen
 
Und die ID muss Teil der Daten werden, d. h.: Ein Datensatz hat ein Feld ID (oder ähnlich er Name) das einen Wert enthält, der innerhalb der Tabelle eindeutig ist.

Die ID kann sich nicht zufällig beim Einfügen in 'nen Listview ergeben. Sie wäre ja dann mehr oder weniger zufällig und ändert sich ggfls. bei 'ner Veränderung der Sortierung im ListView. Das kann nicht ernsthaft als Lösungsansatz dienen.

Die Eindeutigkeit eines Datensatzes (u. a. zwecks sicherer Identifizierung) muss Teil der Daten sein und nicht Teil der Anzeigekomponente.

SQLite bietet für solche Zwecke: https://sqlite.org/autoinc.html

fabi17 11. Jan 2018 19:05

AW: Listview Datensatz Datenbank löschen
 
Hallo ihr beiden. Habe es jetzt schon gelöst so wie ihr es beschrieben habt. danke!

fabi17 14. Jan 2018 00:29

AW: Listview Datensatz Datenbank löschen
 
war wohl etwas voreilig. Hab es leider noch nicht hinbekommen.
Wie kann ich denn aus der selected.Listview Daten, z.B. die ID, ziehen sodass ich Sie über einen SQL Befehl löschen kann?

danke und lg

scrat1979 14. Jan 2018 15:33

AW: Listview Datensatz Datenbank löschen
 
Ich würde mir zur Datenhaltung eine eigene Klasse bauen. Einem Eintrag in der Listview kann man ein Object zuweisen (glaube ItemObject heißt die Eigenschaft). So kann man direkt die ID dort speichern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz