deutschen Handbuch - QT software GmbH
deutschen Handbuch - QT software GmbH
deutschen Handbuch - QT software GmbH
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
eines hinreichend großen Ausgabepuffers (dies ist i.A. eine in Ihrem<br />
Programm deklarierte Variable)<br />
die Länge des Ausgabepuffers, sofern der Datentyp keine voreingestellte<br />
feste Länge in C hat (bspw. INTEGER, REAL haben eine feste Länge)<br />
einer Variable, in der die Länge des Ergebnisses (in Byte) bei der<br />
Rückgabe zu finden ist.<br />
Beispiel:<br />
CHARACTER wName*21<br />
INTEGER (SQLINTEGER) :: LENwName = 21<br />
INTEGER (SQLINTEGER) :: cbwName<br />
.<br />
rtc = SQLExecDirect( stmt, &<br />
"SELECT waehrungname FROM waehrungen"//CHAR(0), &<br />
SQL_NTSL )<br />
rtc = SQLBindCol( stmt, 1, SQL_C_CHAR, wName, &<br />
LENwName, cbwName)<br />
Erläuterung: Der erste Spaltenname (zweites Argument von<br />
SQLBindCol ist =1) des SELECT Befehls wird an den Speicherplatz<br />
der Variable wName vom Typ SQL_C_CHAR der Länge LENwName<br />
gebunden. Wenn der SELECT Befehl erfolgreich ausgeführt wird, wird<br />
später (genauer beim Aufruf von SQLFetch) das Ergebnis in wName<br />
und seine Länge in cbwName abgelegt .<br />
Ab ODBC 2.0 kann alternativ auch die Funktion SQLBindParameter<br />
verwendet werden:<br />
rtc = SQLBindParameter( stmt, 1, SQL_PARAM_OUTPUT, &<br />
SQL_C_CHAR, SQL_CHAR, LENwName, 0, &<br />
wName, LENwName, cbwName )<br />
Erhält der gebundene Spaltenwert den Wert NULL (d.h. ist nicht<br />
definiert), wird in der Längenangabe zum Puffer der Wert<br />
SQL_NULL_DATA zurückgegeben ("missing value").<br />
Sind die Charakteristika des Ergebnisses eines SQL Befehls innerhalb der<br />
Applikation nicht bekannt, so erlauben die Funktionen<br />
SQLNumResultCols die Anzahl<br />
und<br />
SQLColAttributes (ODBC v1.x/2.x) bzw.<br />
SQLColAttribute (ODBC v3.x) und SQLDescribeCol<br />
eine Beschreibung<br />
der Spalten zu liefern. Diese Routinen können nachdem zuvor ein SQL<br />
Befehl vorbereitet oder ausgeführt wurde, aufgerufen werden.<br />
Sobald die Bindung zwischen Ergebnisspalten und Applikationsvariablen<br />
bzw. Speicherplätzen erfolgt ist (siehe oben SQLBindCol bzw.<br />
SQLBindParameter), ermöglicht die Funktion SQLFetch durch<br />
die Sätze (rows) des Ergebnisses (result set) zu schreiten und sie einzeln<br />
"abzuholen".<br />
http://www.qt<strong>software</strong>.de ForDBC - Fortran Database Connectivity 28