JetRetrieveColumns-Funktion

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JetRetrieveColumns-Funktion

Die JetRetrieveColumns -Funktion werden mehrere Spaltenwerte aus dem aktuellen Datensatz in einem einzigen Vorgang abgerufen. Ein Array von JET_RETRIEVECOLUMN Strukturen wird zum Beschreiben der Spaltenwerte abgerufen werden sollen, und beschreiben Ausgabepuffer für jeden Wert von Column abgerufen werden sollen.

JET_ERR JET_API JetRetrieveColumns(
  __in          JET_SESID sesid,
  __in          JET_TABLEID tableid,
  __in_out_opt  JET_RETRIEVECOLUMN* pretrievecolumn,
  __in          unsigned long cretrievecolumn
);

Parameter

sesid

Die Sitzung für diesen Aufruf verwenden.

TableID

Der Mauszeiger für dieses Anrufs verwenden.

pretrievecolumn

Ein Zeiger auf ein Array von Strukturen für eine oder mehrere JET_RETRIEVECOLUMN . Jede Struktur enthält Beschreibungen der Wert in der der Spalte abgerufen und wo zurückgegebene Daten gespeichert.

cretrievecolumn

Die Anzahl der JET_RETRIEVECOLUMN Strukturen in das Array von Pretrievecolumnangegeben.

Return Value

Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine-Fehlern und Fehler behandeln von Parametern.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errBadItagSequence

Pretinfo wurde ein ungültiger mehrwertige Spalte Sequenz Zahlenwert übergeben ItagSequence ->. Gültige Werte für die Spalte mit mehreren Werten Wert Sequenz Zahlen sind 1 oder höher. Der Wert 0 (null) ist für diese Funktion gültig, aber für JetRetrieveColumnist ungültig.

JET_errBadColumnId

Die Spalten-ID angegeben wird, außerhalb der zulässigen Grenzen einer Spalte-ID.

JET_errClientRequestToStopJetService

Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf die Instanz der Sitzung zugeordnet aufgrund eines Aufrufs von JetStopServicebehoben ist.

JET_errColumnNotFound

Die Spalte, die durch die angegebenen Spalten-ID beschrieben ist in der Tabelle nicht vorhanden.

JET_errIndexTuplesCannotRetrieveFromIndex

Spalten indiziert wie Teilzeichenfolgen aus dem Index nicht abgerufen werden können, da Sie nur ein kleiner Teil der Spalte in der Regel in jedem Indexeintrag vorhanden ist.

JET_errInvalidBufferSize

In einigen Fällen muss der angegebene Puffer für die Spalte abrufen ausreichend Größe angepasst werden, um eine beliebige Anzahl von der Spaltenwert zurückzugeben. Beispielsweise hinterlegten aktualisierbare Spalten werden so angepasst, um für den transaktionale Kontext der aufrufenden Sitzung konsistent sein und diese Anpassung erfordert den Puffer vom Aufrufer bereitgestellt. Wenn nicht genügend Pufferspeicherplatz bereitgestellt wird, klicken Sie dann JET_errInvalidBufferSize zurückgegeben und keine Spaltendaten jeglicher Art zurückgegeben.

JET_errInvalidgrbit

Die Optionen, die bereitgestellt sind unbekannt oder eine ungültige Kombination von bekannten Bit-Einstellungen.

JET_errInvalidParameter

Eine oder mehrere der angegebenen Parameter ist falsch. Dies kann vorkommen, wenn die retinfo.cbStruct kleiner ist, die die Größe der JET_RETINFO.

JET_errInstanceUnavailable

Es ist nicht möglich, den Vorgang abzuschließen, da die Instanz der Sitzung zugeordnet ein schwerwiegender Fehler, der erforderlich sind aufgetreten wurde, dass der Zugriff auf alle Daten gesperrt werden, um die Integrität der Daten zu schützen.

Windows XP:  Dieser Fehler wird nur von Windows XP und spätere Versionen zurückgegeben werden.

JET_errNoCurrentRecord

Der Cursor befindet sich nicht auf einen Datensatz. Dies kann vielen verschiedenen Gründen auftreten. Beispielsweise dies geschieht, wenn der Cursor derzeit nach dem letzten Datensatz auf dem aktuellen Index befindet.

JET_errNotInitialized

Es ist nicht möglich, den Vorgang abzuschließen, da die Instanz der Sitzung zugeordnet wurde noch nicht initialisiert.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da ein Restore-Vorgang in Arbeit auf die Instanz der Sitzung zugeordnet ist.

JET_errSessionSharingViolation

Die gleiche Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden.

Windows XP:  Dieser Fehler wird nur von Windows XP und spätere Versionen zurückgegeben werden.

JET_errTermInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da die Instanz der Sitzung zugeordnet heruntergefahren wird.

JET_wrnBufferTruncated

Der Wert für die gesamte Spalte konnte nicht abgerufen werden, da der angegebene Puffer kleiner als die Größe der Spalte ist.

Bei Erfolg werden Spalten Daten und Spaltengröße im angegebenen Puffern im Array von JET_RETRIEVECOLUMN Strukturen beschrieben zurückgegeben. Wenn ein ItagSequence auf 0 (null) um anzugeben, dass die Anzahl der Instanzen des Objekts ein mehrwertiges Feld anstelle von Spaltendaten gewünscht wurde festgelegt wurde, wird die Anzahl der Instanzen einer Spalte mit mehreren Werten im Feld ItagSequence selbst zurückgegeben. Jede JET_RETRIEVECOLUMN Struktur enthält ein Fehler dar, die für die Spalte abgerufen Warnungen enthält. Wenn die Spalte NULL bewertet wurde, wird der Fehlercode JET_wrnColumnNull festgelegt werden.

Bei einem Fehler die Cursorposition bleibt unverändert, und keine Daten in den bereitgestellten Puffer kopiert.

Anmerkungen

JetRetrieveColumns unterstützt ein Feature, mit dem JetRetrieveColumn nicht der Fall ist. Dies ist die Möglichkeit, die Anzahl der Instanzen einer Spalte mit mehreren Werten abzurufen. Dieses Feature dient zum Abrufen aller Werte für eine Spalte zulassen. Dies kann durch ersten Bestimmen der Anzahl von Werten, die eine Spalte erfolgen. Im nächsten Schritt können ihrer Länge ermittelt werden, durch Aufrufen von JetRetrieveColumns erneut mit einer JET_RETRIEVECOLUMN Struktur zugewiesen ist, für jeden Wert, die Länge des Spaltendaten bestimmen. Dies kann durch das Übergeben von NULLPvData Objektzeigern mit CbMax 0 (null) und die Länge der Spalte in CbActualabrufen erfolgen. Der dritte und letzte Aufruf kann mit reservierter Speicher für die Daten der Spalte Wert vorgenommen werden.

Wenn eine beliebige Spalte abgerufen wegen eines Puffers unzureichende Länge abgeschnitten wird, gibt die API JET_wrnBufferTruncated zurück. Andere Fehler JET_wrnColumnNull werden jedoch zurückgegeben nur im Fehlerfeld in JET_RETRIEVECOLUMN. Der Grund hierfür ist, dass Anwendungen oft soll, um sicherzustellen, dass alle Daten abgerufen wurden und diese Kenntnisse zurückgeben dieser Fehler aus JetRetrieveColumns erleichtert.

Voraussetzungen

-Client,

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

WindowsServer 2008, WindowsServer 2003 oder Windows 2000 Server benötigt.

Kopfzeile

In Esent.h deklariert.

Library

Verwenden Sie ESENT.lib.

DLL

Erfordert "ESENT.dll".

Siehe auch

JET_ERR
JET_SESID
JET_TABLEID
JET_RETRIEVECOLUMN
JetEnumerateColumns
JetRetrieveColumn
JetSetColumns