Sie können im Deklarationsabschnitt zur Deklaration von Host-Variablen die C/C++-Grunddatentypen verwenden. Zu jedem Grunddatentyp existiert ein entsprechender MaxDB-Datentyp.
Der Precompiler übernimmt die folgenden Aufgaben:
· Er prüft während der Durchführung des Precompiler-Laufs, ob der Speicherplatz der Host-Variablen und der korrespondierenden Tabellenspalte ausreicht, um bei der Übertragung von Werten zwischen Datenbankinstanz und Anwendungsprogramm jeweils den maximal möglichen Wert aufzunehmen. Wenn das nicht der Fall ist, gibt der Precompiler im Precompiler-Protokoll eine Warnung aus.
· Er übernimmt zur Laufzeit, falls nötig, die Konvertierung von Datentypen.
Die folgende Tabelle zeigt, mit welchen MaxDB-Datentypen die Grunddatentypen korrespondieren.
Beschreibung |
C/C++-Datentyp |
MaxDB-Datentyp |
alphanumerisches Zeichen |
char |
CHAR (1) |
Zeichenkette mit abschließendem NULL-Byte |
char* |
CHAR
(n) |
Ganze Zahl |
[unsigned] int, short int, long int |
SMALLINT, INTEGER (2 oder 4 Bytes), FIXED (5), FIXED (10) |
Festkommazahl |
float, double |
FIXED (n,m) |
Gleitkommazahl |
float |
FLOAT (6) |
Datumswert |
char [9] |
DATE |
Zeitwert |
char [9] |
TIME |
Zeitstempelwert mit abschließendem NULL-Byte |
char [21] |
TIMESTAMP |
Boolesch |
alle numerischen Datentypen (gleich null oder ungleich null) |
BOOLEAN |
Byte |
char [n],
n
£ 8000 |
[VAR]CHAR (n) BYTE |
Achten Sie bei der Angabe von Datums-, Zeit- und Zeitstempelwerten auf das korrekte Datums- und Zeitformat.