Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Tabellenzeilen in virtueller ListView darstellen???

  Alt 27. Feb 2021, 05:03
Ich bin mir nicht sicher, ob ich das Problem richtig verstehe. Zu virtuellen Listviews kann ich auch nichts sagen.
Die Gegenfrage: Was bringt es Dir, zu Dataset Nr x zu gehen?
Du willst doch sicher zu einem Datensatz, der eine bestimmte Information hält, statt zu einer nichtssagenden Nummer zu springen?

Auf Datenbankseite gibt es Werkzeuge, um solche Nummern wie Du sie möchtest zu erzeugen. Unter Firebird war es mal "generator", allgemein "sequence". Im Grunde eine parameterlose Funktion, die bei Abfrage immer einen neuen Wert ausspuckt, normalerweise jeweils 1 höher als die letzte Ausgabe.
Diese Funktion wird meist eingesetzt, um eindeutige ID zu erzeugen, die in der Tabelle als Primärschlüssel genutzt werden.
Sie kann auch einfach in einem Select Statement genutzt werden, also ohne die Ausgabe in eine Tabellenspalte zu speichern.

Man muss dabei berücksichtigen, dass eine solche Sequence zwar schön brav aufsteigende Zahlen liefert, in der Datenbankwelt spielt die Reihenfolge jedoch keine Rolle. Die Reihenfolge von Datensatzausgaben wird durch eine Sortieranweisung erzeugt (order by), ohne diese Anweisung ist sie zufällig.

Fortlaufende Nummern in Delphi gemäß Deiner Formulierung würde ich in einem Array verorten, den Arrayindex. (Der nichts mit einem Datenbankindex zu tun hat). Vielleicht gibt es eine solche Eigenschaft und daraus ableitende Funktionen auch im virtuellen Listview.
Gruß, Jo
  Mit Zitat antworten Zitat