Compartilhar via


Estrutura JET_SETCOLUMN

Aplica-se a: Windows | Windows Server

Estrutura JET_SETCOLUMN

A estrutura JET_SETCOLUMN contém parâmetros de entrada e saída para JetSetColumns. Os campos na estrutura descrevem qual valor de coluna definir, como defini-lo e onde obter os dados do conjunto de colunas.

    typedef struct {
      JET_COLUMNID columnid;
      const void* pvData;
      unsigned long cbData;
      JET_GRBIT grbit;
      unsigned long ibLongValue;
      unsigned long itagSequence;
      JET_ERR err;
    } JET_SETCOLUMN;

Membros

Columnid

O identificador de coluna para uma coluna a ser definida.

pvData

Um ponteiro para os dados a serem definidos em uma coluna.

cbData

O tamanho da alocação, em bytes, começando em pvData em bytes.

grbit

Um grupo de bits que contém as opções a serem usadas para essa chamada, que incluem zero ou mais dos seguintes.

Valor

Significado

JET_bitSetAppendLV

Acrescenta dados a uma coluna do tipo JET_coltypLongText ou JET_coltypLongBinary. O mesmo comportamento pode ser obtido determinando o tamanho do valor longo existente e especificando ibLongValue em psetinfo. No entanto, é mais simples usar esse grbit, pois saber o tamanho do valor de coluna existente não é necessário.

JET_bitSetOverwriteLV

Substitui o valor longo existente pelos novos dados. Quando essa opção é usada, é como se o valor longo existente fosse definido como 0 (zero) de comprimento antes de definir os novos dados.

JET_bitSetSizeLV

Interpreta o buffer de entrada como um número inteiro de bytes a ser definido como o comprimento do valor longo descrito pelo columnid fornecido e, se fornecido, o número de sequência em psetinfo-itagSequence>. Se o tamanho fornecido for maior que o valor de coluna existente, a coluna será estendida com 0s. Se o tamanho for menor que o valor de coluna existente, o valor será truncado.

JET_bitSetZeroLength

Define um valor como comprimento zero. Normalmente, um valor de coluna é definido como NULL passando um cbMax de 0. No entanto, para alguns tipos, como JET_coltypText, um valor de coluna pode ter 0 comprimento em vez de NULL e essa opção é usada para diferenciar entre NULL e 0 comprimento.

JET_bitSetSeparateLV

Força um valor longo, colunas do tipo JET_coltypLongText ou JET_coltypLongBinary, a ser armazenado separadamente do restante dos dados de registro. Isso ocorre normalmente quando o tamanho do valor longo impede que ele seja armazenado com os dados de registro restantes. No entanto, essa opção pode ser usada para forçar o valor longo a ser armazenado separadamente. Observe que valores longos de quatro bytes de tamanho ou menores não podem ser forçados a serem separados. Nesses casos, a opção é ignorada.

JET_bitSetUniqueMultiValues

Impõe valores distintos em uma coluna de vários valores. Essa opção compara os dados da coluna de origem, sem transformações, com outros valores de coluna existentes e um erro será retornado se uma duplicata for encontrada. Se essa opção for fornecida, JET_bitSetAppendLv, JET_bitSetOverwriteLV e JET_bitSetSizeLV também não poderão ser dadas.

JET_bitSetUniqueNormalizedMultiValues

Impõe valores distintos em uma coluna de vários valores. Essa opção compara a transformação normalizada de chave de dados de coluna com outros valores de coluna existentes transformados da mesma forma e um erro será retornado se uma duplicata for encontrada. Se essa opção for fornecida, JET_bitSetAppendLv, JET_bitSetOverwriteLV e JET_bitSetSizeLV também não poderão ser dadas.

JET_bitSetRevertToDefaultValue

Faz com que a coluna retorne o valor de coluna padrão em operações subsequentes de recuperação de coluna. Todos os valores de coluna existentes são removidos. Essa opção só é aplicável a colunas marcadas, esparsas ou com valores múltiplos.

JET_bitSetIntrinsicLV

Mantém o valor longo, as colunas do tipo JET_coltypLongText ou JET_coltypeLongBinary, armazenadas com os dados de registro restantes, se possível. Normalmente, as colunas longas são armazenadas separadamente quando seu comprimento excede 1024 bytes ou, de outra forma, faz com que o comprimento do registro exceda a limitação de tamanho relacionado ao tamanho da página. No entanto, se essa opção for definida, a operação definir coluna falhará com o erro JET_errColumnTooBig em vez de armazenar esse valor de coluna separado dos dados de registro restantes.

ibLongValue

O deslocamento para o primeiro byte a ser recuperado de uma coluna do tipo JET_coltypLongBinary ou JET_coltypLongText.

itagSequence

Descreve o número de sequência de valor em uma coluna de vários valores. Uma itagSequence de 0 indica que o conjunto de valores de coluna deve ser adicionado como uma nova instância de uma coluna de vários valores.

err

Códigos de erro e avisos retornados da operação de coluna set.

Requisitos

Requisito Valor

Cliente

Requer Windows Vista, Windows XP ou Windows 2000 Professional.

Servidor

Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server.

Cabeçalho

Declarado em Esent.h.

Consulte Também

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JetSetColumns