Wählen Sie zuerst
Aufbau
SelectFirst(sSQL): Zeichenfolge:
Typ
Funktion
Beschreibung
Diese Funktion passt den SQL-Text so an, dass nur der erste 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:
SelectFirst("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
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
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) 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, SelectFirst("SELECT GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN")) then
ShowMessage("Erster Datensatz = " & tdFieldByNameAsString(1, "GAGE_SN"))
End If |