Freigeben über


JetSetColumns-Funktion

Gilt für: Windows | Windows Server

JetSetColumns-Funktion

Die JetSetColumns-Funktion ähnelt dem Verhalten von JetSetColumn , ermöglicht jedoch einer Anwendung das Festlegen mehrerer Spaltenwerte in einem einzelnen Vorgang. Ein Array von JET_SETCOLUMN Strukturen wird verwendet, um den Satz der festzulegenden Spaltenwerte zu beschreiben und Eingabepuffer für jeden festzulegenden Spaltenwert zu beschreiben.

    JET_ERR JET_API JetSetColumns(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in_out_opt  JET_SETCOLUMN* psetcolumn,
      __in          unsigned long csetcolumn
    );

Parameter

sesid

Die Sitzung, die für diesen Aufruf verwendet werden soll.

tableid

Der Cursor, der für diesen Aufruf verwendet werden soll.

psetcolumn

Ein Zeiger auf ein Array mit mindestens einer JET_SETCOLUMN Strukturen. Jede Struktur enthält Beschreibungen, welcher Spaltenwert festgelegt werden soll und von wo aus Spaltendaten festgelegt werden sollen.

csetcolumn

Die Anzahl der JET_SETCOLUMN Strukturen im Array, die von psetcolumn angegeben wird.

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_errBadColumnId

Die angegebene Spalten-ID liegt außerhalb der gesetzlichen Grenzwerte einer Spalten-ID.

JET_errClientRequestToStopJetService

Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden.

JET_errColumnIllegalNull

Identisch mit JET_errNullInvalid.

JET_errColumnNotFound

Die von der angegebenen Columnid beschriebene Spalte ist in der Tabelle nicht vorhanden.

JET_errColumnNotUpdatable

Es wurde ein illegaler Versuch unternommen, einen langen Wert während eines Ursprünglichen Aktualisierungsvorgangs zum Löschen von Einfügekopien zu aktualisieren.

JET_errColumnTooBig

Die angegebenen Spaltenwertdaten im Eingabepuffer überschreiten die Größenbeschränkung entweder natürlich für eine Spalte mit fester Länge oder für Text mit fester Länge oder binäre Spalten. Dieser Fehler wird auch zurückgegeben, wenn mehr als 1024 Bytes Daten für eine lange Spalte übergeben und das JET_bitSetIntrinsicLV-Flag festgelegt wird.

JET_errInstanceUnavailable

Es ist nicht möglich, den Vorgang abzuschließen, da beim instance, der der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben.

JET_errInvalidBufferSize

Die angegebene Spaltenwert-Datengröße stimmt nicht mit der natürlichen Größe des Datentyps mit fester Länge überein.

JET_errInvalidColumnType

Es wurde ein illegaler Versuch unternommen, eine Automatische Inkrementspalte entweder während eines Einfüge- oder Updatevorgangs zu aktualisieren oder eine Versionsspalte während eines Ersetzungsvorgangs zu aktualisieren.

JET_errInvalidgrbit

Die angegebenen Optionen sind unbekannt oder eine unzulässige Kombination bekannter Biteinstellungen.

JET_errInvalidParameter

Die angegebene psetinfo-cbStruct> ist keine gültige Größe für die JET_SETINFO-Struktur .

JET_errMultiValuedDuplicate

Der Vorgang der Setspalte hat versucht, einen doppelten Wert zu erstellen, und hat entweder JET_bitSetUniqueMultiValues oder JET_bitSetUniqueNormalizedMultiValues angegeben.

JET_errNotInitialized

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

JET_errNotInTransaction

Es wurde ein illegaler Versuch unternommen, einen langen Spaltenwert zu aktualisieren, wenn sich die aufrufende Sitzung nicht in einer Transaktion befand.

JET_errNullInvalid

Es wurde ein illegaler Versuch unternommen, eine Spalte ohne NULL auf NULL festzulegen.

JET_errRecordTooBig

Der Spaltenwert konnte nicht auf den Wert im Eingabepuffer festgelegt werden, da er dazu geführt hätte, dass der Datensatz seine Größenbeschränkung für die Seitengröße überschritten hätte. Spalten vom Typ JET_coltypLongText oder JET_coltypLongBinary können getrennt von den übrigen Datensatzdaten gespeichert werden. Allerdings müssen andere Spalten mit dem Datensatz gespeichert werden und können dazu führen, dass die Datensatzgrößenbeschränkung überschritten wird. Selbst lange Spalten benötigen 5 Bytes Speicherplatz innerhalb des Datensatzes als Verknüpfung, und auch dies kann dazu führen, dass JET_errRecordTooBig zurückgegeben werden.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da auf dem der Sitzung zugeordneten instance ein Wiederherstellungsvorgang ausgeführt wird.

JET_errSessionSharingViolation

Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben.

JET_errTermInProgress

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

JET_errUpdateNotPrepared

Der Cursor ist derzeit weder dabei, einen neuen Datensatz einzufügen noch einen vorhandenen Datensatz zu aktualisieren.

JET_wrnColumnMaxTruncated

Der Spaltenwert im Eingabepuffer überschreitet die maximale konfigurierte Länge für eine Spalte mit variabler Länge und wurde abgeschnitten.

Bei Erfolg wird für jede Spalte, die in den psetcolumns beschrieben wird, der gewünschte Teil des Spaltenwerts mit daten festgelegt, die aus dem Eingabepuffer kopiert wurden. Das Spaltendatenset wurde möglicherweise abgeschnitten, wenn es die maximale Länge überschritten hat, die für eine Spalte mit variabler Länge angegeben wurde.

Bei einem Fehler bleibt die Cursorposition unverändert, und im Kopierpuffer werden keine Spaltenwertdaten aktualisiert.

Bemerkungen

Wenn ein einzelner Satzspaltenvorgang einen Fehler zurückgibt, gibt der gesamte JetSetColumns-Vorgang einen Fehler zurück. Warnungen werden im Allgemeinen im psetcolumns-error> und nicht im Rückgabecode dieser Funktion zurückgegeben. Wenn der letzte Spaltensatz jedoch eine Warnung enthält, wird diese Warnung von JetSetColumns selbst zurückgegeben.

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.

Weitere Informationen

JET_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn