JetGetTableColumnInfo-Funktion
Gilt für: Windows | Windows Server
JetGetTableColumnInfo-Funktion
Die JetGetTableColumnInfo-Funktion ruft Informationen zu einer Tabellenspalte ab.
JET_ERR JET_API JetGetTableColumnInfo(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in const tchar* szColumnName,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
Parameter
sesid
Der Datenbanksitzungskontext, der für den API-Aufruf verwendet werden soll.
tableid
Die Tabelle, die die Spalte enthält, für die Informationen abgerufen werden sollen.
szColumnName
Der Name der Spalte, für die Informationen abgerufen werden sollen.
pvResult
Zeiger auf einen Puffer, der die Informationen empfängt. Der Typ des Puffers ist von InfoLevel abhängig. Der Aufrufer muss so konfiguriert werden, dass der Puffer ordnungsgemäß ausgerichtet wird.
cbMax
Die Größe des Puffers, der in pvResult übergeben wurde, in Bytes.
InfoLevel
Der Typ der Informationen, die für die Spalte abgerufen werden, die von szColumnName angegeben wird. Das Format der in pvResult gespeicherten Daten ist von InfoLevel abhängig. Das Schema der temporären Tabelle finden Sie unter JET_COLUMNLIST.
JET_ColInfoListSortColumnid sortiert die temporäre Tabelle nach columnid.
JET_ColInfoListCompact komprimiert die Ausgabe. Weitere Informationen zur kompakten Ausgabe finden Sie unter JET_COLUMNLIST.
Für diesen Parameter können die folgenden Optionen festgelegt werden:
Wert |
Bedeutung |
---|---|
JET_ColInfo |
pvResult wird als JET_COLUMNDEF interpretiert, und die Felder der JET_COLUMNDEF-Struktur werden entsprechend ausgefüllt. JET_ColInfo und JET_ColInfoByColid rufen beide die gleichen Informationen ab. |
JET_ColInfoBase |
pvResult wird als JET_COLUMNBASE-Struktur interpretiert. Dies ähnelt einer JET_COLUMNDEF-Struktur . Wenn diese Funktion erfolgreich ist, wird die Struktur mit entsprechenden Werten aufgefüllt. Wenn diese Funktion fehlschlägt, enthält die Struktur nicht definierte Daten. |
JET_ColInfoByColid |
pvResult wird als JET_COLUMNDEF interpretiert, mit dem Unterschied, dass dieser InfoLevel angibt, dass die angeforderte Spalte (szColumName) nicht der Name der Zeichenfolgenspalte, sondern ein Zeiger auf eine JET_COLUMNID ist. JET_ColInfo und JET_ColInfoByColid rufen beide die gleichen Informationen ab. |
JET_ColInfoList |
pvResult wird als JET_COLUMNLIST-Struktur interpretiert. Wenn diese Funktion erfolgreich ist, wird die Struktur mit entsprechenden Werten aufgefüllt. Eine temporäre Tabelle wird geöffnet und durch das tableid-Element von JET_COLUMNLIST identifiziert. Die Tabelle muss mit JetCloseTable geschlossen werden. Wenn diese Funktion fehlschlägt, enthält die Struktur nicht definierte Daten. |
JET_ColInfoListCompact |
pvResult wird als JET_COLUMNLIST-Struktur interpretiert. Wenn diese Funktion erfolgreich ist, wird die Struktur mit entsprechenden Werten aufgefüllt. Eine temporäre Tabelle wird geöffnet und durch das tableid-Element von JET_COLUMNLIST identifiziert. Die Tabelle muss mit JetCloseTable geschlossen werden. Wenn diese Funktion fehlschlägt, enthält die Struktur nicht definierte Daten. |
JET_ColInfoListSortColumnid |
Wie JET_ColInfoList, wird die resultierende Tabelle jedoch nach Columnid und nicht nach Spaltenname sortiert. |
JET_ColInfoSysTabCursor |
JET_ColInfoSysTabCursor ist veraltet, und die Verwendung gibt JET_errFeatureNotAvailable zurück. |
JET_ColInfoBaseByColId |
Wie JET_ColInfoBase wird pvResult als JET_COLUMNBASE interpretiert, mit dem Unterschied, dass dieser InfoLevel angibt, dass die angeforderte Spalte (szColumName) nicht der Name der Zeichenfolgenspalte ist, sondern ein Zeiger auf eine JET_COLUMNID. Windows Vista: Dies ist in Windows Vista und höher verfügbar. |
JET_ColInfoGrbitNonDerivedColumnsOnly |
Gibt nur nicht abgeleitete Spalten zurück (wenn die Tabelle von einer Vorlage abgeleitet ist). Dieser Wert kann logisch oder in infoLevel eingefügt werden, wenn die InfoLevel-Basis JET_ColInfoList ist. Windows Vista: Dieser Wert wird in Windows Vista eingeführt. |
JET_ColInfoGrbitMinimalInfo |
Gibt nur den Spaltennamen und die Spalten-ID jeder Spalte zurück. Dieser Wert kann logisch oder in infoLevel eingefügt werden, wenn die InfoLevel-Basis JET_ColInfoList ist. Windows Vista: Dieser Wert wird in Windows Vista eingeführt. |
JET_ColInfoGrbitSortByColumnid |
Die zurückgegebene Spaltenliste nach Columnid sortieren (standardmäßig wird die Liste nach Spaltennamen sortiert). Dieser Wert kann logisch oder in infoLevel eingefügt werden, wenn die InfoLevel-Basis JET_ColInfoList ist. Windows Vista: Dieser Wert wird in Windows Vista eingeführt. |
Rückgabewert
Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errColumnNotFound |
Die Spalte szColumnName wurde in der Tabelle nicht gefunden. |
JET_errFeatureNotAvailable |
Es wurde ein ungültiger InfoLevel-Wert angegeben. |
JET_errInvalidName |
Dieser Fehler kann zurückgegeben werden, wenn:
|
JET_errInvalidParameter |
Dieser Fehler kann zurückgegeben werden, wenn:
|
Bemerkungen
JetGetTableColumnInfo und JetGetColumnInfo rufen beide Informationen zu einer Spalte ab. Der Unterschied zwischen ihnen besteht darin, wie die Tabelle identifiziert wird:
JetGetTableColumnInfo identifiziert eine Tabelle anhand von tableid.
JetGetColumnInfo identifiziert eine Tabelle anhand der Kombination dbid und szTableName .
Beim Abrufen von Daten mit JET_ColInfoList, JET_ColInfoListSortColumnid oder JET_ColInfoListCompact wird eine temporäre Tabelle geöffnet. Die temporäre Tabelle enthält Daten, und die JET_COLUMNLIST-Struktur enthält ausreichende Informationen, um die temporäre Tabelle zu durchlaufen. Die temporäre Tabelle muss mit JetCloseTable geschlossen werden.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista, Windows XP oder Windows 2000 Professional. |
Server |
Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server. |
Kopfzeile |
Deklariert in Esent.h. |
Bibliothek |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert ESENT.dll. |
Unicode |
Implementiert als JetGetTableColumnInfoW (Unicode) und JetGetTableColumnInfoA (ANSI). |
Weitere Informationen
Erweiterbare Speicher-Engine-Fehler
Fehlerbehandlungsparameter
JET_COLUMNBASE
JET_COLUMNDEF
JET_COLUMNID
JET_COLUMNLIST
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetGetColumnInfo
JetGetTableColumnInfo