08.05.2013 Aufrufe

deutschen Handbuch - QT software GmbH

deutschen Handbuch - QT software GmbH

deutschen Handbuch - QT software GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!