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:

  • Es wurde ein ungültiger Name für szTableName angegeben.

  • Es wurde ein ungültiger Name für szColumnName angegeben.

JET_errInvalidParameter

Dieser Fehler kann zurückgegeben werden, wenn:

  • Es wurde ein ungültiger InfoLevel-Wert angegeben.

  • Ein NULL szTableName wurde übergeben.

  • Der Puffer ist zu klein.

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