Dela via


JetSetColumns-funktion

gäller för: Windows | Windows Server

JetSetColumns-funktion

JetSetColumns-funktionen liknar JetSetColumn, men tillåter ett program att ange flera kolumnvärden i en enda åtgärd. En matris med JET_SETCOLUMN strukturer används för att beskriva den uppsättning kolumnvärden som ska anges och för att beskriva indatabuffertar för varje kolumnvärde som ska anges.

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

Parameterar

sesid

Sessionen som ska användas för det här anropet.

tableid

Markören som ska användas för det här anropet.

psetcolumn

En pekare till en matris med en eller flera JET_SETCOLUMN strukturer. Varje struktur innehåller beskrivningar av vilket kolumnvärde som ska anges och varifrån kolumndata ska anges.

csetcolumn

Antalet JET_SETCOLUMN strukturer i matrisen som anges av psetcolumn.

Returvärde

Den här funktionen returnerar JET_ERR-datatypen med någon av följande returkoder. Mer information om möjliga ESE-fel finns i Extensible Storage Engine Errors and Error Handling Parameters (Utökningsbara lagringsmotorfel och felhanteringsparametrar).

Returkod

Beskrivning

JET_errBadColumnId

Det angivna kolumn-ID:t ligger utanför de juridiska gränserna för ett kolumn-ID.

JET_errClientRequestToStopJetService

Det går inte att slutföra åtgärden eftersom all aktivitet på den instans som är associerad med sessionen har upphört till följd av ett anrop till JetStopService.

JET_errColumnIllegalNull

Samma som JET_errNullInvalid.

JET_errColumnNotFound

Kolumnen som beskrivs av det angivna columnid finns inte i tabellen.

JET_errColumnNotUpdatable

Ett ogiltigt försök gjordes att uppdatera ett långt värde under en ursprunglig uppdateringsåtgärd för att ta bort en infogningskopia.

JET_errColumnTooBig

Angivna kolumnvärdedata som anges i indatabufferten överskrider storleksbegränsningen, antingen naturlig för en kolumn med fast längd eller konfigurerad för text med fast längd eller binära kolumner. Det här felet returneras också när du skickar mer än 1 024 byte data för en lång kolumn och anger flaggan JET_bitSetIntrinsicLV.

JET_errInstanceUnavailable

Det går inte att slutföra åtgärden eftersom den instans som är associerad med sessionen har påträffat ett allvarligt fel som kräver att åtkomsten till alla data återkallas för att skydda dataintegriteten. Det här felet returneras endast av Windows XP och senare versioner.

JET_errInvalidBufferSize

Datastorleken för det angivna kolumnvärdet matchar inte det som är naturligt för datatypen fast längd.

JET_errInvalidColumnType

Ett olagligt försök gjordes att uppdatera en automatisk inkrementell kolumn under en infognings- eller uppdateringsåtgärd, eller att uppdatera en versionskolumn under en ersättningsåtgärd.

JET_errInvalidgrbit

De angivna alternativen är okända eller en otillåten kombination av kända bitinställningar.

JET_errInvalidParameter

Angiven psetinfo-cbStruct> är inte en giltig storlek för JET_SETINFO struktur.

JET_errMultiValuedDuplicate

Åtgärden set column försökte skapa ett duplicerat värde och angav antingen JET_bitSetUniqueMultiValues eller JET_bitSetUniqueNormalizedMultiValues.

JET_errNotInitialized

Det går inte att slutföra åtgärden eftersom den instans som är associerad med sessionen inte har initierats ännu.

JET_errNotInTransaction

Ett olagligt försök gjordes att uppdatera ett långt kolumnvärde när den anropande sessionen inte fanns i en transaktion.

JET_errNullInvalid

Ett olagligt försök gjordes att ange en icke-NULL-kolumn till NULL.

JET_errRecordTooBig

Kolumnvärdet kunde inte anges till värdet i indatabufferten eftersom det skulle ha gjort att posten överskrider sin storleksbegränsning för sidan. Kolumner av typen JET_coltypLongText eller JET_coltypLongBinary kan lagras separat från återstående postdata. Andra kolumner måste dock lagras med posten och kan orsaka att poststorleksbegränsningen överskrids. Även långa kolumner kräver 5 byte utrymme i posten som en länkning och även detta kan leda till att JET_errRecordTooBig returneras.

JET_errRestoreInProgress

Det går inte att slutföra åtgärden eftersom en återställningsåtgärd pågår på den instans som är associerad med sessionen.

JET_errSessionSharingViolation

Samma session kan inte användas för fler än en tråd samtidigt. Det här felet returneras endast av Windows XP och senare versioner.

JET_errTermInProgress

Det går inte att slutföra åtgärden eftersom den instans som är associerad med sessionen stängs av.

JET_errUpdateNotPrepared

Markören håller för närvarande inte på att antingen infoga en ny post eller uppdatera en befintlig post.

JET_wrnColumnMaxTruncated

Kolumnvärdet i indatabufferten överskred den maximala konfigurerade längden för en kolumn med variabel längd och trunkerades.

Vid lyckat resultat anges den önskade delen av kolumnvärdet för varje kolumn som beskrivs i psetcolumns med data kopierade från indatabufferten. Kolumndatauppsättningen kan ha trunkerats om den överskred den maximala längd som angetts för en kolumn med variabel längd.

Vid fel lämnas markörens plats oförändrad och inga kolumnvärdedata uppdateras i kopieringsbufferten.

Anmärkningar

Om en enskild kolumnåtgärd returnerar ett fel returnerar hela JetSetColumns-åtgärden ett fel. Varningar returneras i allmänhet i psetcolumns-error> och inte i returkoden från den här funktionen. Men om den sista kolumnuppsättningen har en varning returneras den här varningen från Själva JetSetColumns .

Kravspecifikation

Krav Värde

Klient

Kräver Windows Vista, Windows XP eller Windows 2000 Professional.

Server

Kräver Windows Server 2008, Windows Server 2003 eller Windows 2000 Server.

Rubrik

Deklarerad i Esent.h.

Bibliotek

Använd ESENT.lib.

DLL

Kräver ESENT.dll.

Se även

JET_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn