Zum Hauptinhalt springen

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 |