JetGetColumnInfo-Funktion

Gilt für: Windows | Windows Server

JetGetColumnInfo-Funktion

Die JetGetColumnInfo-Funktion ruft Informationen zu einer Spalte ab.

    JET_ERR JET_API JetGetColumnInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          const tchar* szTableName,
      __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.

dbid

Gibt zusammen mit szTableName die Tabelle an, die die Spalte enthält, aus der die Informationen abgerufen werden.

szTableName

Gibt zusammen mit dbid die Tabelle an, die die Spalte enthält, aus der die Informationen abgerufen werden.

szColumnName

Der Name der Spalte, für die Informationen abgerufen werden.

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 er den Puffer entsprechend ausrichtet.

cbMax

Die Größe des Puffers, der in pvResult übergeben wird, in Bytes.

InfoLevel

Der Typ der abzurufenden Informationen für die Spalte, die von szColumnName angegeben wird. Das Format der in pvResult gespeicherten Daten hängt von diesem Parameter ab. Das Schema der temporären Tabelle finden Sie unter JET_COLUMNLIST.

Diese InfoLevels unterscheiden sich durch:

  • JET_ColInfoListSortColumnid sortiert die temporäre Tabelle nach columnid.

  • JET_ColInfoListCompact komprimiert die Ausgabe. Weitere Informationen zur kompakten Ausgabe finden Sie unter JET_COLUMNLIST.

Die folgenden Optionen stehen für die Verwendung mit diesem Parameter zur Verfügung.

Wert

Bedeutung

JET_ColInfo

JET_ColInfo und JET_ColInfoByColid die gleichen Informationen abrufen. pvResult wird als JET_COLUMNDEF interpretiert, und die Felder der JET_COLUMNDEF Struktur werden entsprechend ausgefüllt.

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

Wie JET_ColInfo wird pvResult als JET_COLUMNDEF interpretiert, mit dem Unterschied , dass die angeforderte Spalte (szColumName) nicht der Name der Zeichenfolgenspalte ist, sondern ein Zeiger auf eine JET_COLUMNID.

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 der JET_COLUMNLIST-Struktur identifiziert. Die Tabelle muss mit JetCloseTable geschlossen werden. Wenn diese Funktion fehlschlägt, enthält die Struktur nicht definierte Daten.

JET_ColInfoListCompact

Identisch mit JET_ColInfoList.

JET_ColInfoListSortColumnid

Identisch mit JET_ColInfoList; die resultierende Tabelle wird jedoch nach columnid anstelle des Spaltennamens sortiert.

JET_ColInfoSysTabCursor

JET_ColInfoSysTabCursor veraltet ist, wird JET_errFeatureNotAvailable zurückgegeben.

JET_ColInfoBaseByColId

Wie JET_ColInfoBase wird auch 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: Dieser Wert wird in Windows Vista eingeführt.

JET_ColInfoGrbitNonDerivedColumnsOnly

Gibt nur nicht abgeleitete Spalten zurück (wenn die Tabelle von einer Vorlage abgeleitet ist).

Dieser Wert kann logisch oder in InfoLevel enthalten sein, wenn die InfoLevel-Basis JET_ColInfoList ist.

Windows Vista: Dieser Wert wird in Windows Vista eingeführt.

JET_ColInfoGrbitMinimalInfo

Geben Sie nur den Spaltennamen und die Columnid jeder Spalte zurück.

Dieser Wert kann logisch oder in InfoLevel enthalten sein, wenn die InfoLevel-Basis JET_ColInfoList ist.

Windows Vista: Dieser Wert wird in Windows Vista eingeführt.

JET_ColInfoGrbitSortByColumnid

Sortieren Sie die zurückgegebene Spaltenliste nach columnid (standardmäßig wird die Liste nach Spaltenname sortiert).

Dieser Wert kann logisch oder in InfoLevel enthalten sein, wenn die InfoLevel-Basis JET_ColInfoList ist.

Windows Vista: Dieser Wert wird in Windows Vista eingeführt.

Rückgabewert

Diese Funktion gibt den JET_ERR-Datentyp 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.

  • 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 durch die 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 genügend 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 JetGetColumnInfoW (Unicode) und JetGetColumnInfoA (ANSI).

Weitere Informationen

Fehlerbehandlungsparameter
Fehler der erweiterbaren Speicher-Engine
JET_COLUMNBASE
JET_COLUMNDEF
JET_COLUMNID
JET_COLUMNLIST
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetGetTableColumnInfo