Estructura de JET_COLUMNDEF

Se aplica a: Windows | Windows Server

Estructura de JET_COLUMNDEF

La estructura JET_COLUMNDEF define los datos que se pueden almacenar en una columna.

    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;

Miembros

cbStruct

El tamaño de la estructura en bytes. Debe establecerse en sizeof( JET_COLUMNDEF).

columnid

Reservado. columnid debe establecerse en 0 (cero).

coltyp

Tipo de la columna (por ejemplo, texto, binario o numérico). Para obtener más información, consulte JET_COLTYP.

wCountry

Reservado. wCountry debe establecerse en 0 (cero).

langid

Obsoleto. langid debe establecerse en 0 (cero).

cp

Página de códigos de la columna. Los únicos valores válidos para las columnas de texto son Inglés (1252) y Unicode (1200). Un valor de cero significa que se usará el valor predeterminado (inglés, 1252). Si la columna no es una columna de texto, la página de códigos se establece automáticamente en cero.

wCollate

Reservado. wCollate debe establecerse en 0 (cero).

cbMax

La longitud máxima, en bytes, de una columna de longitud variable o la longitud de una columna de longitud fija.

grbit

Grupo de bits que contienen las opciones que se usarán para esta llamada, que incluyen cero o más de los valores siguientes.

Valor

Significado

JET_bitColumnFixed

Se corregirá la columna. Siempre usará la misma cantidad de espacio en una fila, independientemente de la cantidad de datos que se almacenen en la columna. JET_bitColumnFixed no se puede usar con JET_bitColumnTagged. Este bit no se puede usar con valores largos (es decir , JET_coltypLongText y JET_coltypLongBinary).

JET_bitColumnTagged

La columna se etiquetará. Las columnas etiquetadas no ocupan ningún espacio en la base de datos si no contienen datos. Este bit no se puede usar con JET_bitColumnFixed.

JET_bitColumnNotNULL

La columna nunca debe establecerse en un valor NULL.

JET_bitColumnVersion

La columna es una columna de versión que especifica la versión de la fila. El valor de esta columna comienza en cero y se incrementará automáticamente para cada actualización de la fila.

Este bit solo se puede aplicar a JET_coltypLong columnas. Este bit no se puede usar con JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate o JET_bitColumnTagged.

JET_bitColumnAutoincrement

La columna se incrementará automáticamente. El número es un número creciente y se garantiza que es único dentro de una tabla. Sin embargo, es posible que los números no sean continuos. Por ejemplo, si se insertan cinco filas en una tabla, la columna "autoincrement" podría contener los valores { 1, 2, 6, 7, 8 }. Este bit solo se puede usar en columnas de tipo JET_coltypLong o JET_coltypCurrency.

Windows 2000: En Windows 2000, este bit solo se puede usar en columnas de tipo JET_coltypLong.

JET_bitColumnUpdatable

Este bit solo es válido en llamadas a JetGetColumnInfo.

JET_bitColumnTTKey

Este bit solo es válido en llamadas a JetOpenTable.

JET_bitColumnTTDescending

Este bit solo es válido en llamadas a JetOpenTempTable.

JET_bitColumnMultiValued

La columna puede tener varios valores. Una columna con varios valores puede tener cero, uno o más valores asociados. Los distintos valores de una columna multivalor se identifican mediante un número denominado miembro itagSequence , que pertenece a varias estructuras, entre las que se incluyen: JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN y JET_ENUMCOLUMNVALUE. Las columnas con varios valores deben etiquetarse; es decir, no pueden ser columnas de longitud fija o de longitud variable.

JET_bitColumnEscrowUpdate

Especifica que una columna es una columna de actualización de custodia. Una columna de actualización de custodia se puede actualizar simultáneamente mediante sesiones diferentes con JetEscrowUpdate y mantendrá la coherencia transaccional. Una columna de actualización de custodia también debe cumplir las condiciones siguientes:

  • Una columna de actualización de custodia solo se puede crear cuando la tabla está vacía.

  • Una columna de actualización de custodia debe ser de tipo JET_coltypLong.

  • Una columna de actualización de custodia debe tener un valor predeterminado (es decir , cbDefault debe ser positivo).

  • JET_bitColumnEscrowUpdate no se puede usar junto con JET_bitColumnTagged, JET_bitColumnVersion o JET_bitColumnAutoincrement.

JET_bitColumnUnversioned

La columna se creará en un sin información de versión. Esto significa que se producirá un error en otras transacciones que intenten agregar una columna con el mismo nombre. Este bit solo es útil con JetAddColumn. No se puede usar dentro de una transacción.

JET_bitColumnMaybeNull

Reservado para uso futuro.

JET_bitColumnFinalize

Use JET_bitColumnDeleteOnZero en lugar de JET_bitColumnFinalize. JET_bitColumnFinalize que se puede finalizar una columna. Cuando una columna que se puede finalizar tiene una columna de actualización de custodia que alcanza cero, se eliminará la fila. En su lugar, las versiones futuras podrían invocar una función de devolución de llamada (para obtener más información, consulte JET_CALLBACK). Una columna que se puede finalizar debe ser una columna de actualización de custodia. JET_bitColumnFinalize no se puede usar con JET_bitColumnUserDefinedDefault.

JET_bitColumnUserDefinedDefault

La función de devolución de llamada proporcionará el valor predeterminado de una columna. Consulte JET_CALLBACK. Una columna que tenga un valor predeterminado definido por el usuario debe ser una columna etiquetada. Especificar JET_bitColumnUserDefinedDefault significa que pvDefault debe apuntar a una estructura de JET_USERDEFINEDDEFAULT y cbDefault debe establecerse en sizeof( JET_USERDEFINEDDEFAULT ).

  • JET_bitColumnUserDefinedDefault no se puede usar junto con JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero o JET_bitColumnMaybeNull.

JET_bitColumnDeleteOnZero

La columna es una columna de actualización de custodia y, cuando alcanza cero, se eliminará el registro. Un uso común de una columna que se puede finalizar es usarlo como un campo de recuento de referencias y cuando el campo alcanza cero el registro se elimina. JET_bitColumnDeleteOnZero está relacionado con JET_bitColumnFinalize. Una columna Delete-on-zero debe ser una columna de actualización de custodia. JET_bitColumnDeleteOnZero no se puede usar con JET_bitColumnFinalize. JET_bitColumnDeleteOnZero no se puede usar con columnas predeterminadas definidas por el usuario.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista, Windows XP o Windows 2000 Professional.

Servidor

Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Encabezado

Declarado en Esent.h.

Consulte también

JET_CALLBACK
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNID
JET_GRBIT
JET_USERDEFINEDDEFAULT
JetAddColumn
JetEscrowUpdate
JetGetTableColumnInfo
JetOpenTempTable
JetOpenTempTable2
JetOpenTempTable3
JetRenameColumn