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 ?