f$SQLSpaltenliste (engl. f$SQLGetCols)
f$SQLSpaltenliste (engl. f$SQLGetCols)
Mit dieser Funktion werden die Ergebnisspalten eines beliebigen SQL Befehls in als Komma separierte Liste zurückgegeben. Optional kann in einer indizierten Parametergruppe eine Liste mit folgenden Informationen ermittelt werden.
-Name : Name der Spalte
-ColTyp : Datentyp der Spalte als Zahl
1 |
|
2 |
|
3 |
|
4 | SQL_INTEGER |
5 | SQL_SMALLINT |
6 | SQL_FLOAT |
7 | SQL_REAL |
8 | SQL_DOUBLE |
9 | SQL_DATETIME |
10 | SQL_TIME |
11 | SQL_TIMESTAMP |
12 | SQL_VARCHAR |
-1 | SQL_LONGVARCHAR |
-2 | SQL_BINARY |
-3 |
|
-4 | SQL_LONGVARBINARY |
-5 | SQL_BIGINT |
-6 | SQL_TINYINT |
-7 | SQL_BIT |
-11 | SQL_GUID |
-Typ : empfohlener ePOS Datentyp der Spalte als Zahl
o1 – Zeichenkette
o2 – Ganzzahl
o3 - Dezimal
Die übergebene Parametergruppe wird bei Bedarf vergrößert.
Anmerkung: Da das Aufbauen einer Verbindung etwas Zeit benötigt, sollte nicht für jede SQL-Funktion eine neue Verbindung hergestellt werden.
Syntax: | Status = f$SQLSpaltenliste( Kanal , SQL , 'NameListe' [, 'NamePG'] ) | ||
| Argument | Typ | Bedeutung |
| Kanal | Ganzzahl | Kanalnummer der SQL-Verbindung |
| SQL | Zeichenkette | Der SQL Befehl, dessen Ergebnisspalten ermittelt werden sollen |
| NameListe | Zeichenkette | Name des Parameters auf welchen die Kommagetrennte Liste der Spaltennamen geschrieben wird. |
| NamePG | Zeichenkette | Name der einfach indizierten Parametergruppe, auf welche die Spaltennamen und deren Datentypen geschrieben wird. Diese Parametergruppe ist optional. Die Parametergruppe sollte folgende Spalten enthalten: Name vom Datentyp Zeichenkette ColTyp vom DatentypGanzzahl Typ vom Datentyp Ganzzahl |
Ergebnis: | Ganzzahl | Fehlerstatus: 0 :Befehl wurde korrekt abgesetzt -9999: Der SQL-Befehl war nicht erfolgreich. In diesem Fall kann mit Hilfe der Funktion: f$SQLFehler (f$SQLFehler)der Fehlerstatus und die Fehlerbeschreibung ermittelt werden. | |
Beispiel: | p$TDV:SMPAPI:Check_ODBC() SQL = 'SELECT * FROM TP_Zuverlass' Status = f$SQLSpaltenliste( SMP_NG.ODBC_KANAL , SQL , 'Spaltenliste') | ||