![]() |
AW: Abfrage mittels SQL - Ergebnis?
Hallo,
liefert eben keinen Record Doch, genau einen Rekord mit einem Feld. *krümelkacker" aus ;) |
AW: Abfrage mittels SQL - Ergebnis?
Die Lösung von Uwe hat mir sehrr geholfen.
Dadurch kann ich nun auf den kompletten Record zugreifen. Ich wusste einfach nicht, dass nach einem Select MAX(... der Record nicht alle Spalten ermöglicht. Bisher hatte ich immer mit ABSTable gearbeitet. LG |
AW: Abfrage mittels SQL - Ergebnis?
Zitat:
|
AW: Abfrage mittels SQL - Ergebnis?
SQL-Code:
select top 1,1 * from dbKunden order by KUNDENNUMMER desc;
|
AW: Abfrage mittels SQL - Ergebnis?
Zitat:
Dann hatte ich den Datensatz, den ich benötigte. LG |
AW: Abfrage mittels SQL - Ergebnis?
Zitat:
LG :-) |
AW: Abfrage mittels SQL - Ergebnis?
Zitat:
Aber egal. Wenn die Query
SQL-Code:
ist, dann funktioniert das Locate dort auch so. Bei
SELECT * FROM dbKUNDEN
SQL-Code:
kommen die Daten sogar sortiert an. Dann wäre ein
SELECT * FROM dbKUNDEN ORDER BY KUNDENNUMMER
Delphi-Quellcode:
ausreichend um den Datensatz mit der höchsten Kundennummer auszuwählen.
ABSQuery1.Last
|
AW: Abfrage mittels SQL - Ergebnis?
Hallo uwe,
danke für Deine Erklärung. Mir ist ein Fehler bei meiner Antwort unterlaufen. Bisher hatte ich das natürlich nicht mittels Locate gemacht, sondern ich bin alle Datensätze durchgegangen und habe mit dem jeweils nächsten abgeglichen und dann immer die höhere Kundennummer als neue Referenz benutzt:
Delphi-Quellcode:
var
Dummy_MaxStr : String; Dummy_MaxInt: Integer; begin Dummy_MaxInt := 0; ABSTable1.Open; ABSTable1.First; repeat Dummy_MaxStr := ABSTable.FieldByName('KUNDENNUMMER').AsString; if isinteger(Dummy_MaxStr) then if Dummy_MaxStr.ToInteger > Dummy_MaxInt then Dummy_MaxInt := Dummy_MaxStr.ToInteger; ABSTable.Next; until ABSTable1.EOF; ShowMessage(Dummy_MaxInt.ToString); Das hatte ich bisher in etwa so gemacht, hatte aber bei einer großen Datenbank lange gedauert. LG :-) |
AW: Abfrage mittels SQL - Ergebnis?
Zitat:
|
AW: Abfrage mittels SQL - Ergebnis?
Da wäre es ja wesentlich einfacher (und vermutlich auch schneller) gewesen, einen Index auf die Kundennummer zu setzen und dann zum letzten Datensatz zu springen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz