Registriert seit: 26. Nov 2002
Ort: Aachen
87 Beiträge
Delphi 6 Enterprise
|
21. Jan 2003, 16:34
Hi X-Dragon,
mir ist wohl noch nicht ganz klar, wonach Du suchst. Die Anzahl der Datensätze, also RecordCount und letzte ID sind ja nur solange identisch, wie kein Datensatz gelöscht wird.
1. Falls es Dir um die Anzahl der Datensätze geht, erreichst Du das über 'SELECT COUNT (*) FROM ' + ATable)
Auch hier wird nur ein einziger Datensatz zurückgegeben, in dem im ersten Feld (also Fields[0].AsInteger) die Anzahl der Datensätze, also RecordCount steht.
2. Sollte es Dir umd die höchste bislang vergebene ID gehen, kannst Du diese wie ich beschrieben habe, erhalten. Selbstverständlich benötigst Du dafür einen Feldnamen, in dem diese ID steht (von einer dBase internen ID - etwa inkrementierend? - habe ich noch nichts gehört).
Meine RecordCount Abfrage ist übrigens definitiv nicht zeitkritisch, da von vorn herein klar ist, dass entweder ein oder gar kein Datensatz zurückgegeben wird. Einen einzelnen Datensatz in eine Ergebnismenge zu schieben ist völlig zeitunkritisch (Deshalb ist die SELECT COUNT Variante bei größeren Datenmngen, oder gar Server basierte Anwendugen immer der RecordCount Methode vorzuziehen).
lieben gruß, harrybo
Harry Boldt
|