deutschen Handbuch - QT software GmbH
deutschen Handbuch - QT software GmbH
deutschen Handbuch - QT software GmbH
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5. Grundsätzliches zum Aufruf von ODBC<br />
Funktionen in Fortran<br />
Die Namen aller Funktionen der ODBC API (API = Application<br />
Programming Interface) beginnen mit „SQL“. Die Definitionen und<br />
Deklarationen von ODBC Konstanten, Typen und Funktionsprototypen zu<br />
diesen Funktionen sind in den C-Header-Dateien SQL.H, SQLEXT.H<br />
und WINDOWS.H zu finden (diese werden bspw. bei vielen gängigen<br />
C/C++ Compilersystemen für Windows mitgeliefert). C Programme<br />
müssen diese Header-Dateien beinhalten.<br />
Fortran 90/95 Programmierern werden in ForDBC entsprechende<br />
Fortran Module bereitgestellt, die in ODBC Applikationen mittels USE<br />
Befehl einzubinden sind:<br />
USE ForDBC<br />
Das Modul befindet sich in der Datei<br />
fordbc.mod<br />
Das Modul ForDBC beinhaltet Referenzen zu weiteren Modulen, faßt also<br />
alle anderen, nachfolgend genannten Module zusammen, deren explizite<br />
Angabe mittels USE in Ihrem Fortran Programm damit nicht notwendig<br />
ist.<br />
So erfolgt z.B. die Definition der ODBC spezifischen Datentypen (KINDs)<br />
in<br />
qtODBCKinds<br />
(Datei qtodbckinds.mod)<br />
und der Konstanten (PARAMETERs) in<br />
qtODBCDefs<br />
(Datei qtodbcdefs.mod)<br />
Das Modul verwendet grundlegende C und Windows Datentypen (KINDs),<br />
die in den Modulen<br />
und<br />
qtCKinds<br />
(Datei qtckinds.mod)<br />
qtODBCCoreKinds<br />
(Datei qtodbccorekinds.mod)<br />
definiert werden.<br />
So definiert bspw. das Modul qtCKinds den "Datentyp" LONG,<br />
INTEGER :: LONG<br />
PARAMETER ( LONG = SELECTED_INT_KIND(9))<br />
! >10**9, for long integers (32-bit, signed)<br />
der damit mit einem 4-Byte INTEGER (INTEGER*4) identisch ist, und<br />
das Modul qtODBCCoreKinds definiert den Datentyp LP, der für<br />
32-Bit und 64-Bit Systeme unterschiedlich ist (woraus mancher Leser<br />
erahnen mag, warum KINDs verwendet werden).<br />
In den Modulen qtODBCKinds und qtODBC werden diese<br />
Datentypen benutzt, um weitere ODBC spezifische Datentypen und<br />
Konstanten zu deklarieren bzw. zu definieren. Z.B.:<br />
INTEGER, PARAMETER :: SQLINTEGER = LONG<br />
INTEGER, PARAMETER :: SQLHANDLE = LP<br />
INTEGER, PARAMETER :: SQLHENV = SQLHANDLE<br />
http://www.qt<strong>software</strong>.de ForDBC - Fortran Database Connectivity 14