SOdbcDatabase
Verbindung zur einer ODBC-Datenbank
Vererbung
Basisklassen(n) |
|
abgeleitete Klassen |
|
SOdbcDatabase |
|
Attribute
public:
Attribut |
Typ |
Beschreibung |
hdbc |
SQLHDBC |
Windows-Handle der Datenbankverbindung |
isConnected |
BOOL |
Die Instanz ist mit einer Datenbank verbunden. |
protected:
Attribut |
Typ |
Beschreibung |
connect |
SString |
der aktuelle ODBC-Connect-String |
dsnName |
SString |
Name der DSN wenn vorhanden. |
henv |
SQLHENV |
Handle der ODBC-Datenbank-Verbindung |
typeInfos |
SPointerList |
Liste der Datentypen einer Ergebniszeile. Wird beim durchführen einer Abfrage gefüllt. |
Operationen
public:
Name |
Parameter |
Rückgabewert |
Beschreibung |
checkSqlError |
SQLHSTMT hstmt, SQLRETURN retcode, const SString& preText, BOOL outputToLog=false |
BOOL |
Prüft auf vorhandensein eines Fehlers und gibt eine Meldung aus. |
closeConnection |
|
void |
Beendet eine evtentuell bestehende ODBC-Verbindung. |
convertTypeSqlToSvl |
int sqlType |
int |
Gibt für einen SQL-Datentyp den entsprechenden SVL-Variant-Type zurück. |
driverExists |
const SString& driver |
BOOL |
Überprüft ob der Treiber mit dem angegebenen Namen auf dem System vorhanden ist. |
getAllTables |
SStringList* paTableList |
int |
Noch nicht Implementiert. |
getDatabaseName |
|
SString |
Gibt den aktuellen ODBC-Datenbanknamen zurück, bzw. einen Leerstring wenn keine Datenbank angeschlossen ist. |
getDatasourceName |
|
SString |
Gibt den aktuellen ODBC-Datasource-Namen zurück, bzw. einen Leerstring wenn keine Datenbank angeschlossen ist |
getDriverList |
SStringList& driverList |
BOOL |
Füllt die übergebene Liste mit den Namen aller auf den Rechner verfügbaren ODBC-Treiber. |
getSqlErrorText |
SQLHSTMT hstmt |
SString |
Gibt der Fehlertext eines vorangegangenen SQL-Fehlers zurück. Wenn der Fehlertext nur per MessageBox ausgegeben oder in das Logfile geschrieben werden soll, kann auch checkSQLError(...) verwendung finden. |
getTableStructure |
SString tableName, SStringList* paColumnName, SStringList* paColumnType, SStringList* paColumnPrecision |
int |
Noch nicht implementiert. |
getTypeName |
WORD sqlDataType |
SString |
Ermittelt den Type-Name zu einem sqlDataType-ID. |
odbcConnectDriver |
const SString& driver, const SString& dbq |
BOOL |
Stellt die Verbindung zur Datenbank her. |
odbcConnectDsn |
const SString& dsn |
BOOL |
Stellt die Verbindung zur Datenbank her. |
odbcConnectFiledsn |
const SString& filedsn |
BOOL |
Stellt die Verbindung zur Datenbank her. |
sqlExecute |
SQLHSTMT hstmt, SString statement |
BOOL |
Führt ein SQL-Statement aus. |
sqlExecute |
SString statement |
BOOL |
Gibt ein SQL-Statement an den ODBC-Treiber weiter unter Anforderung eines neuen Handles. Dies ermöglicht z.B. ein zwichenzeitliches Schreiben eines Datensatzes mittes UPDATE ohne den aktuellen Cursor zu verlieren. |
protected:
Name |
Parameter |
Rückgabewert |
Beschreibung |
odbcConnect |
|
BOOL |
führt die eigentliche Verbindungsaufnahme zur Datenbank au. |
readOdbcSourceTypeinfos |
|
void |
Liest dei Type-Infos der Datasource in ein Array. |
Verbindung zur einer ODBC-Datenbank
Prüft auf vorhandensein eines Fehlers und gibt eine Meldung aus.
Dazu wird der Funktion ein gültiges Statement-Handle und der Return_Code der Abfrage übergeben. Die Funktion gibt im Fehlerfall (returncode ist nicht SQL_SUCCESS oder SQL_SUCCESS_WITH_INFO) den Fehlertext als MessageBox aus bzw. schreibt ihn in das Logfile, je nachdem, welchen Wert der Parameter outputToLog enthält.
Die Funktion sollte direkt nach der betreffenden Abfrage, auf jeden Fall vor der nächsten Benutzung des Statement-Handles ausgeführt werden.
Parameter:
hstmt |
Handle der Abfrage, deren Ergebnis überprüft werden soll |
retcode |
Sql-Return-Code einer SQL-Funktion |
preText |
voranzustellender Fehlertext, in der Regel der Funktionsname |
outputToLog |
wenn TRUE wird in das ErrorLog geschrieben, sonst wird eine MsgBox angezeigt. |
Beendet eine evtentuell bestehende ODBC-Verbindung.
Gibt für einen SQL-Datentyp den entsprechenden SVL-Variant-Type zurück.
Parameter:
Rückgabe:
Überprüft ob der Treiber mit dem angegebenen Namen auf dem System vorhanden ist.
Parameter:
driver |
Treibername (z.B. Microsoft Access-Treiber (*.mdb)) |
Rückgabe:
BOOL |
Treiber ist vorhanden. |
Noch nicht Implementiert.
Füllt die übergebene String-Liste mit den Namen aller Tabellen der Datenbank.
Parameter:
paTableList |
zu füllende Liste |
Rückgabe:
int |
Anzahl der Tabellen in der Datenbank |
paTableList |
Liste der Tabellennamen |
Gibt den aktuellen ODBC-Datenbanknamen zurück, bzw. einen Leerstring wenn keine Datenbank angeschlossen ist.
Gibt den aktuellen ODBC-Datasource-Namen zurück, bzw. einen Leerstring wenn keine Datenbank angeschlossen ist
Füllt die übergebene Liste mit den Namen aller auf den Rechner verfügbaren ODBC-Treiber.
Parameter:
driverList |
zu füllende Liste |
Rückgabe:
BOOL |
Anzahl der gefundenen Treiber |
driverList |
Liste mit den Namen der gefundenen Treiber. |
Gibt der Fehlertext eines vorangegangenen SQL-Fehlers zurück. Wenn der Fehlertext nur per MessageBox ausgegeben oder in das Logfile geschrieben werden soll, kann auch checkSQLError(...) verwendung finden.
Parameter:
hstmt |
Statement-Handle der letzten Abfrage. |
Rückgabe:
Noch nicht implementiert.
Liest die Spalteninformationen einer Tabelle aus.
Parameter:
Rückgabe:
int |
Anzahl der Spalten der Tabelle |
paColumnName |
Liste der Spaltennamen |
paColumnType |
Liste der Spaltentypen |
paColumnPrecision |
Liste der Spaltenbreiten bzw. Präzision bei Fließkommazahlen |
Ermittelt den Type-Name zu einem sqlDataType-ID.
Parameter:
führt die eigentliche Verbindungsaufnahme zur Datenbank au.
Stellt die Verbindung zur Datenbank her.
Benötigt einen vorhandenen ODBC-Treiber und den Dateinamen (incl. Pfad) der Datenbank.
ACHTUNG: Wenn Sie die Datenbank als SVL-Ressource anlegen sin alle Änderungen an den Daten nor Temporär, d.h. sie gehen bei Programmende verloren.
Parameter:
driver |
Name des ODBC-Treibers |
dbq |
Datenquelle, Name der DB-Datei bzw. des DB-Ordners |
Rückgabe:
BOOL |
Verbindung zur Datenbank wurde hergestellt. |
Stellt die Verbindung zur Datenbank her.
Benötigt eine vorhandene DSN. Es können sowohl System-DSN als auch Benutzer-DSN verwendet werden.
Parameter:
Rückgabe:
BOOL |
Verbindung zur Datenbank wurde hergestellt. |
Stellt die Verbindung zur Datenbank her.
Es wird eine vorhandene Datei-DSN verwendet.
Parameter:
filedsn |
Name der File-DSN (incl. Pfad) |
Rückgabe:
BOOL |
Verbindung zur Datenbank wurde hergestellt. |
Liest dei Type-Infos der Datasource in ein Array.
Führt ein SQL-Statement aus.
Eventuelle Fehler werden per MessageBox angezeigt.
Parameter:
hstmt |
Statement-Handle, das für diese Abfrage werwendet werden soll |
statement |
SQL-Statement der Abfrage |
Rückgabe:
BOOL |
Statement erfolgreich ausgeführt. |
Gibt ein SQL-Statement an den ODBC-Treiber weiter unter Anforderung eines neuen Handles. Dies ermöglicht z.B. ein zwichenzeitliches Schreiben eines Datensatzes mittes UPDATE ohne den aktuellen Cursor zu verlieren.
Bei Fehler werden Fehlerausschriften produziert.
Parameter:
statement |
das auszuführenede SQL-Statement |
Rückgabe:
BOOL |
Statement erfolgreich ausgeführt. |