DBBrowser
Mark Johnson, Berlin Germany
mj10777@gmx.net

###
Remstar ODBC Classes :
Die neue wxDB::GetColumns() Funktion
Beschreibung

(deutsch)

Stand: 2000-01-23.01-mj10777

Es gibt 2 neue wxDB Funktionen :

wxColInf *wxDB::GetColumns(char *tableName, int *numCols, const char *userID)

Diese Funktion sichert alle (int numCols) Informationen aus der Tabelle (char *tableName). Es gibt das Ergebnis in eine wxColInf Stuktur (Klasse)

int wxDB::GetKeyFields(char *tableName, wxColInf* colInf,int noCols)

Versucht herauszufinden ob irgend welche (int noCols) Spalten (wxColInf* colInf)
aus der Tabelle (char *tableName) Primär- oder Fremdschlüssel sind.

Diese Funktion wird aus GetColumns() aufgerufen.

Es gibt 4 neue wxDB Klassen (Strukturen) :

wxDbInf

Diese Klasse speichert alle ODBC-Informationen für einen Datenbank :

Katalogeintrag (char catalog[128+1]),
Schema (char schema[128+1])
der Anzahl gefundene Tabellen (int numTables)
und eine Zeiger auf der (wxTableInf* pTableInf) Struktur.

wxTableInf

Diese Klasse speichert alle ODBC-Informationen für einen Tabelle :

Tabellename (char tableName[DB_MAX_TABLE_NAME_LEN+1]),
Tabelletyp (char tableType[254+1]) - "TABLE", "SYSTEM TABLE" etc. ,
Tabellen Bemerkungen (char tableRemarks[254+1]),
der Anzahl gefundene Spalten (int numCols)
und eine Zeiger auf der (wxColInf* pColInf) Struktur.

wxColInf

Diese Klasse speichert alle ODBC-Informationen für einen Spalte :

Katalogeintrag (char catalog[128+1]),
Schema (char schema[128+1])
Tabellename (char tableName[DB_MAX_TABLE_NAME_LEN+1]),
Spaltenname (char colName[DB_MAX_COLUMN_NAME_LEN+1]),
Datentyp (aus SQL) (SWORD sqlDataType),
Datatyp-Name(aus SQL) (char typeName[128+1]),
Spaltengröße(aus SQL) (SWORD columnSize),
Pufferlänge(aus SQL) (SWORD bufferLength),
Dezimalstellen(aus SQL) (short decimalDigets),
numPrecRadix (aus SQL) (short numPrecRadix),
Null-Fähig (aus SQL) (short nullable),
Bemerkungen (char remarks[254+1]),
Datatype (from wxDB) (int dbDataType),
Primärschlüssel (int PkCol) 0=Nein; 1= Erste Schlüssel, 2 = Zweite Schlüssel usw.,
Tabllennamen die diese Schlüssel als Fremdschlüssel verwenden (char PkTableName[DB_MAX_TABLE_NAME_LEN+1]),
Foreign-Key (int FkCol) 0=Nein; 1= Erste Schlüssel, 2 = Zweite Schlüssel usw.,
Tabellename wo diese Fremdschlüssel als Primärschlüssel (char FkTableName[DB_MAX_TABLE_NAME_LEN+1]),
und eine Zeiger auf der (wxColFor* pColFor) Struktur.

wxColFor

Diese Klasse speichert wie diese Spalte als String formatiert werden soll :

Ausgabestring (wxString s_Field),
Formatierte Objekten (TIMESTAMP needs 7) (wxString s_Format[7]),
Formatierte Objekten (wxString s_Menge[7]),
Formatierte Objekten (TT MM YYYY HH MM SS m) (int i_Menge[7]),
Nation (0=timestamp,1=EU,2=UK,3=International,4=US)int i_Nation),
Datatyp (aus wxDB) (int I_dbDataType),
Datatyp (aus SQL) (SWORD i_sqlDataType),

int Format(int Nation, int dbDataType,SWORD sqlDataType,short columnSize,short decimalDigits);
Die Formatierte Objekten bekommen Standardwerte und Format() wird aufgerufen.
Die Programmierer können, wenn sie was besonderes haben wollen , diese Werte Ändern und Format() nochmal aufrufen.

Diese Klasse ist eindeutig unterentwickelt ! Es wurde erstmal zur Verwirklichung von DBGrid erstellt. Änderungen sind Wahrscheinlich. (Vorschläge sind Willkommen)

Damit ist wohl alles klar, oder ?