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:
|
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_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