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