Letztes auswählen
Aufbau
SelectLast(sSQL): Zeichenfolge:
Typ
Funktion
Beschreibung
Diese Funktion passt den SQL-Text so an, dass nur der letzte Datensatz der Ergebnismenge zurückgegeben wird. Diese SQL-Syntax unterscheidet sich zwischen MSSQL, FIREBIRD und ORACLE – daher ist es sinnvoll, diese Funktion zu verwenden, anstatt eine bestimmte Datenbankart fest zu programmieren. Auf diese Weise funktioniert die SQL-Anweisung auch dann einwandfrei, wenn die Konfiguration mit einem anderen Datenbanktyp synchronisiert wird. Nehmen wir zum Beispiel an, Sie hätten folgende Funktion:
SelectLast("SELECT GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN")
Dann würde ein FIREBIRD-Datenbankclient folgenden Text zurückgeben:
SELECT FIRST 1 GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN DESC
Ein MSSQL-Datenbankclient würde folgenden Text zurückgeben:
SELECT TOP 1 GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN DESC
Ein ORACLE-Datenbankclient würde folgenden Text zurückgeben:
SELECT GAGE_SN FROM (SELECT GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN DESC) WHERE ROWNUM = 1
WICHTIG: Damit diese Funktion funktioniert, MUSS die angegebene SQL-Anweisung mit dem Text „SELECT “ beginnen und eine „ORDER BY“-Klausel enthalten – andernfalls ist der zurückgegebene Text lediglich eine Kopie des ursprünglichen SQL-Textes.
Parameter: 1
sSQL = die ursprüngliche SQL-Anweisung
Rückgabewert
Zeichenkette
Beispiel
if tdDoSQLRecords(1, SelectLast("SELECT GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN")) then
ShowMessage("Letzter Datensatz = " & tdFieldByNameAsString(1, "GAGE_SN"))
End If |