Überblick über wichtige ODBC

Werbung
Überblick über wichtige ODBC-Funktionen
Umgebungshandle einrichten:
SQLAllocEnv(&handlevariable_environment)
Verbindungshandle einrichten:
SQLAllocConnect (handlevariable_environment,
&handlevariable_verbindung)
Verbindung zur Datenbank aufbauen:
SQLConnect(
handlevariable_verbindung,
Datenquellenname /* logischer Name der Datenbank */,
Art_Zeichenkette /* z.B. SQL_NTS = Null Terminatet String */,
Benutzername /* z.B. "[email protected]" */,
Länge_Benutzername /* z.B. 15 */,
Passwort,
Länge_Passwort /* z.B. 14 */)
Anweisungshandle einrichten:
SQLAllocStmt(handlevariable_verbindung, &handlevariable_anweisung)
Bindung von Tabellenspalten zu C-Variablen
SQLBindCol(
handlevariable_anweisung,
Spaltennummer /* z.B. 1 */,
Datentyp_der_Spalte, /* z.B. SQL_INTEGER oder SQL_C_CHAR */,
&Zielvariable /* Variable der UWA an die die Spalte gebunden wird */,
sizeof(Zielvariable) /* maximale Größe */,
&Datenlänge /* Ergebnisparameter für die tatsächliche Größe */)
Einmaliges Ausführen einer SQL-Anweisung:
SQLExecDirect(
handlevariable_anweisung,
string_mit_SQL_Anweisung /* z.B. "SELECT * FROM Sportler" */,
Art_Zeichenkette /* z.B. SQL_NTS = Null Terminatet String */)
Wenn eine Anweisung mehrfach ausgeführt werden soll:
Bindung von Parametern zu C-Variablen
SQLBindParameter(
handlevariable_anweisung,
Reihenfolge-Nummer des Parameters in der Anweisung,
Eingabe oder Ausgabeparameter /* meist SQL_INPUT_PARM */,
C_Datentyp_des_Parameters, /* z.B. SQL_C_LONG oder SQL_C_CHAR */,
SQL_Datentyp_der_Spalte, /* z.B. SQL_INTEGER oder SQL_CHAR */,
Spaltenbreite,
Anzahl_Dezimalstellen,
Pointer_auf_Parametervariable,
sizeof(Parametervariable),
&Parameterlänge
/* Ergebnisvariable für die tatsächliche Größe des Parameter */);
Vorbereiten und Ausführen einer SQL-Anweisung:
SQLPrepare(
handlevariable_anweisung,
string_mit_SQL_Anweisung /* z.B. "SELECT * FROM Sportler" */,
Art_Zeichenkette /* z.B. SQL_NTS = Null Terminatet String */)
SQLExecute(handlevariable_anweisung)
Datensatz holen;
die Tabellenspalten werden automatisch in den durch SQLBindCol
festgelegten Variablen abgelegt:
SQLFetch(handlevariable_anweisung)
Fehlermeldung holen:
SQLError(0, 0,
handlevariable_anweisung,
Stringvariable_für_Status,
&Fehlerzahl,
Stringvariable_für_Fehlermeldung,
sizeof(Stringvariable_für_Fehlermeldung),
&Fehlermeldunglänge);
Verbindung beenden:
SQLDisconnect(handlevariable_verbindung)
Handlevariable deallocieren:
SQLFreeConnect(handlevariable_verbindung)
Eigene Transaktionskontrolle verwenden:
Aktivieren:
SQLSetConnectOption(
handlevariable_verbindung,
SQL_Autocommit, SQL_Autocommit_OFF);
Transaktion bestätigen:
SQLTransact(
SQL_NULL_HENV,
handlevariable_verbindung,
SQL_COMMIT);
Automatische Transaktionskontrolle wiederherstellen:
SQLSetConnectOption(
handlevariable_verbindung,
SQL_Autocommit, SQL_Autocommit_ON);
Herunterladen