Sdílet prostřednictvím


JetSetColumns – funkce

platí pro: Windows | Windows Server

JetSetColumns – funkce

Funkce JetSetColumns je podobná chování jako JetSetColumn , ale umožňuje aplikaci nastavit více hodnot sloupců v jedné operaci. Pole JET_SETCOLUMN struktur slouží k popisu sady hodnot sloupců, které se mají nastavit, a k popisu vstupních vyrovnávacích pamětí pro každou hodnotu sloupce, která se má nastavit.

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

Parametry

sesid

Relace, která se má použít pro toto volání.

tableid

Kurzor, který se má použít pro toto volání.

psetcolumn

Ukazatel na pole jedné nebo více JET_SETCOLUMN struktur. Každá struktura obsahuje popisy, ze kterých hodnot sloupce se má nastavit a odkud získat data sloupce, která se mají nastavit.

csetcolumn

Počet JET_SETCOLUMN struktur v poli zadaném psetcolumn.

Návratová hodnota

Tato funkce vrátí datový typ JET_ERR s jedním z následujících návratových kódů. Další informace o možných chybách ESE naleznete v tématu Rozšiřitelné chyby modulu úložiště a parametry zpracování chyb.

Návratový kód

Popis

JET_errBadColumnId

Zadané ID sloupce je mimo právní omezení ID sloupce.

JET_errClientRequestToStopJetService

Operaci není možné dokončit, protože veškerá aktivita instance přidružené k relaci přestala v důsledku volání JetStopService.

JET_errColumnIllegalNull

Stejné jako JET_errNullInvalid.

JET_errColumnNotFound

Sloupec popsaný daným id sloupce v tabulce neexistuje.

JET_errColumnNotUpdatable

Při pokusu o aktualizaci dlouhé hodnoty během operace odstranění původní aktualizace pro vložení kopírování došlo k neplatnému pokusu.

JET_errColumnTooBig

Data dané hodnoty sloupce zadaná ve vstupní vyrovnávací paměti překračují omezení velikosti pro sloupec s pevnou délkou nebo nakonfigurované pro text s pevnou délkou nebo binární sloupce. Tato chyba se také vrátí při předávání více než 1024 bajtů dat pro dlouhý sloupec a nastavení příznaku JET_bitSetIntrinsicLV.

JET_errInstanceUnavailable

Operaci není možné dokončit, protože instance přidružená k relaci zjistila závažnou chybu, která vyžaduje odvolání přístupu ke všem datům kvůli ochraně integrity těchto dat. Tato chyba bude vrácena pouze systémem Windows XP a novějšími verzemi.

JET_errInvalidBufferSize

Velikost dat dané hodnoty sloupce neodpovídá tomu, co je přirozené pro datový typ s pevnou délkou.

JET_errInvalidColumnType

Během operace vložení nebo aktualizace došlo k neplatnému pokusu o aktualizaci sloupce automatického přírůstku nebo aktualizace sloupce verze během operace nahrazení.

JET_errInvalidgrbit

Zadané možnosti jsou neznámé nebo neplatná kombinace známých nastavení bitů.

JET_errInvalidParameter

Daná psetinfo-cbStruct> není platná velikost pro JET_SETINFO strukturu.

JET_errMultiValuedDuplicate

Operace nastavení sloupce se pokusila vytvořit duplicitní hodnotu a zadala JET_bitSetUniqueMultiValues nebo JET_bitSetUniqueNormalizedMultiValues.

JET_errNotInitialized

Operaci není možné dokončit, protože instance přidružená k relaci ještě nebyla inicializována.

JET_errNotInTransaction

Byl proveden neplatný pokus o aktualizaci dlouhé hodnoty sloupce, když volání relace nebyla v transakci.

JET_errNullInvalid

Byl proveden neplatný pokus o nastavení sloupce bez hodnoty NULL na hodnotu NULL.

JET_errRecordTooBig

Hodnotu sloupce nelze nastavit na hodnotu ve vstupní vyrovnávací paměti, protože by způsobila, že záznam překročil omezení velikosti související s velikostí stránky. Sloupce typu JET_coltypLongText nebo JET_coltypLongBinary lze ukládat odděleně od zbývajících dat záznamů. Jiné sloupce však musí být uloženy se záznamem a mohou způsobit překročení omezení velikosti záznamu. Dokonce i dlouhé sloupce vyžadují 5 bajtů místa v záznamu jako propojení a to může také vést k JET_errRecordTooBig vrácení.

JET_errRestoreInProgress

Operaci není možné dokončit, protože probíhá operace obnovení u instance přidružené k relaci.

JET_errSessionSharingViolation

Stejnou relaci nelze použít pro více než jedno vlákno současně. Tato chyba bude vrácena pouze systémem Windows XP a novějšími verzemi.

JET_errTermInProgress

Operaci není možné dokončit, protože instance přidružená k relaci se vypíná.

JET_errUpdateNotPrepared

Kurzor v současné době není v procesu vložení nového záznamu nebo aktualizace existujícího záznamu.

JET_wrnColumnMaxTruncated

Hodnota sloupce ve vstupní vyrovnávací paměti překročila maximální nakonfigurovanou délku pro sloupec s proměnlivou délkou a byla zkrácena.

V případě úspěchu se pro každý sloupec popsaný v psetcolumns nastaví požadovaná část hodnoty sloupce s daty zkopírovanými ze vstupní vyrovnávací paměti. Datová sada sloupců byla pravděpodobně zkrácena, pokud překročila maximální délku zadanou pro sloupec s proměnnou délkou.

Při selhání zůstane umístění kurzoru beze změny a v vyrovnávací paměti kopírování se neaktualizují žádná data hodnoty sloupce.

Poznámky

Pokud nějaká operace se sadou sloupců vrátí chybu, vrátí celá operace JetSetColumns chybu. Upozornění jsou obecně vrácena v psetcolumns-error>, a ne ve návratovém kódu z této funkce. Pokud má ale poslední sada sloupců upozornění, vrátí se toto upozornění ze samotné sady JetSetColumns .

Požadavky

Požadavek Hodnota

Klient

Vyžaduje systém Windows Vista, Windows XP nebo Windows 2000 Professional.

Server

Vyžaduje Systém Windows Server 2008, Windows Server 2003 nebo Windows 2000 Server.

záhlaví

Deklarováno v esent.h.

Knihovna

Použijte ESENT.lib.

DLL knihovny

Vyžaduje ESENT.dll.

Viz také

JET_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn