Compartilhar via


Estrutura JET_COLUMNDEF

Aplica-se a: Windows | Windows Server

Estrutura JET_COLUMNDEF

A estrutura JET_COLUMNDEF define os dados que podem ser armazenados em uma coluna.

    typedef struct {
      unsigned long cbStruct;
      JET_COLUMNID columnid;
      JET_COLTYP coltyp;
      unsigned short wCountry;
      unsigned short langid;
      unsigned short cp;
      unsigned short wCollate;
      unsigned long cbMax;
      JET_GRBIT grbit;
    } JET_COLUMNDEF;

Membros

Cbstruct

O tamanho da estrutura em bytes. Ele deve ser definido como sizeof( JET_COLUMNDEF).

Columnid

Reservado. columnid deve ser definido como 0 (zero).

coltyp

O tipo da coluna (por exemplo, texto, binário ou numérico). Para obter mais informações, consulte JET_COLTYP.

wCountry

Reservado. wCountry deve ser definido como 0 (zero).

Langid

Obsoleto. langid deve ser definido como 0 (zero).

cp

A página de código da coluna. Os únicos valores válidos para colunas de texto são inglês (1252) e Unicode (1200). Um valor zero significa que o padrão será usado (inglês, 1252). Se a coluna não for uma coluna de texto, a página de código será definida automaticamente como zero.

wCollate

Reservado. wCollate deve ser definido como 0 (zero).

cbMax

O comprimento máximo, em bytes, de uma coluna de comprimento variável ou o comprimento de uma coluna de comprimento fixo.

grbit

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

Valor

Significado

JET_bitColumnFixed

A coluna será corrigida. Ele sempre usará a mesma quantidade de espaço em uma linha, independentemente de quantos dados estão sendo armazenados na coluna. JET_bitColumnFixed não pode ser usado com JET_bitColumnTagged. Esse bit não pode ser usado com valores longos (ou seja , JET_coltypLongText e JET_coltypLongBinary).

JET_bitColumnTagged

A coluna será marcada. As colunas marcadas não ocuparão espaço no banco de dados se não contiverem dados. Esse bit não pode ser usado com JET_bitColumnFixed.

JET_bitColumnNotNULL

A coluna nunca deve ser definida como um valor NULL.

JET_bitColumnVersion

A coluna é uma coluna de versão que especifica a versão da linha. O valor dessa coluna começa em zero e será incrementado automaticamente para cada atualização na linha.

Esse bit só pode ser aplicado a colunas JET_coltypLong . Esse bit não pode ser usado com JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate ou JET_bitColumnTagged.

JET_bitColumnAutoincrement

A coluna será incrementada automaticamente. O número é um número crescente e tem a garantia de ser exclusivo dentro de uma tabela. No entanto, os números podem não ser contínuos. Por exemplo, se cinco linhas forem inseridas em uma tabela, a coluna "autoincremento" poderá conter os valores { 1, 2, 6, 7, 8 }. Esse bit só pode ser usado em colunas do tipo JET_coltypLong ou JET_coltypCurrency.

Windows 2000: No Windows 2000, esse bit só pode ser usado em colunas do tipo JET_coltypLong.

JET_bitColumnUpdatable

Esse bit é válido somente em chamadas para JetGetColumnInfo.

JET_bitColumnTTKey

Esse bit é válido somente em chamadas para JetOpenTable.

JET_bitColumnTTDescending

Esse bit é válido somente em chamadas para JetOpenTempTable.

JET_bitColumnMultiValued

A coluna pode ter vários valores. Uma coluna com vários valores pode ter zero, um ou mais valores associados a ela. Os vários valores em uma coluna de vários valores são identificados por um número chamado de membro itagSequence , que pertence a várias estruturas, incluindo: JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN e JET_ENUMCOLUMNVALUE. Colunas com vários valores devem ser colunas marcadas; ou seja, elas não podem ser colunas de comprimento fixo ou de comprimento variável.

JET_bitColumnEscrowUpdate

Especifica que uma coluna é uma coluna de atualização de escrow. Uma coluna de atualização de escrow pode ser atualizada simultaneamente por sessões diferentes com JetEscrowUpdate e manterá a consistência transacional. Uma coluna de atualização de escrow também deve atender às seguintes condições:

  • Uma coluna de atualização de escrow só pode ser criada quando a tabela está vazia.

  • Uma coluna de atualização de escrow deve ser do tipo JET_coltypLong.

  • Uma coluna de atualização de escrow deve ter um valor padrão (que é cbDefault deve ser positivo).

  • JET_bitColumnEscrowUpdate não pode ser usado em conjunto com JET_bitColumnTagged, JET_bitColumnVersion ou JET_bitColumnAutoincrement.

JET_bitColumnUnversioned

A coluna será criada em um sem informações de versão. Isso significa que outras transações que tentam adicionar uma coluna com o mesmo nome falharão. Esse bit só é útil com JetAddColumn. Ele não pode ser usado em uma transação.

JET_bitColumnMaybeNull

Reservado para uso futuro.

JET_bitColumnFinalize

Use JET_bitColumnDeleteOnZero em vez de JET_bitColumnFinalize. JET_bitColumnFinalize que uma coluna possa ser finalizada. Quando uma coluna que pode ser finalizada tiver uma coluna de atualização de escrow que atinja zero, a linha será excluída. Versões futuras podem invocar uma função de retorno de chamada (para obter mais informações, consulte JET_CALLBACK). Uma coluna que pode ser finalizada deve ser uma coluna de atualização de escrow. JET_bitColumnFinalize não pode ser usado com JET_bitColumnUserDefinedDefault.

JET_bitColumnUserDefinedDefault

O valor padrão de uma coluna será fornecido por uma função de retorno de chamada. Consulte JET_CALLBACK. Uma coluna que tenha um padrão definido pelo usuário deve ser uma coluna marcada. Especificar JET_bitColumnUserDefinedDefault significa que pvDefault deve apontar para uma estrutura JET_USERDEFINEDDEFAULT e cbDefault deve ser definido como sizeof( JET_USERDEFINEDDEFAULT ).

  • JET_bitColumnUserDefinedDefault não pode ser usado em conjunto com JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero ou JET_bitColumnMaybeNull.

JET_bitColumnDeleteOnZero

A coluna é uma coluna de atualização de escrow e, quando atingir zero, o registro será excluído. Um uso comum para uma coluna que pode ser finalizada é usá-la como um campo de contagem de referência e quando o campo atinge zero, o registro é excluído. JET_bitColumnDeleteOnZero está relacionado a JET_bitColumnFinalize. Uma coluna Delete-on-zero deve ser uma coluna de atualização de caução. JET_bitColumnDeleteOnZero não pode ser usado com JET_bitColumnFinalize. JET_bitColumnDeleteOnZero não pode ser usado com colunas padrão definidas pelo usuário.

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_CALLBACK
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNID
JET_GRBIT
JET_USERDEFINEDDEFAULT
JetAddColumn
JetEscrowUpdate
JetGetTableColumnInfo
JetOpenTempTable
JetOpenTempTable2
JetOpenTempTable3
JetRenameColumn