Estructura de JET_COLUMNBASE
Se aplica a: Windows | Windows Server
Estructura de JET_COLUMNBASE
La estructura JET_COLUMNBASE describe los parámetros de una columna base. Las funciones JetGetColumnInfo y JetGetTableColumnInfo usan la estructura JET_COLUMNBASE .
typedef struct {
unsigned long cbStruct;
JET_COLUMNID columnid;
JET_COLTYP coltyp;
unsigned short wCountry;
unsigned short langid;
unsigned short cp;
unsigned short wFiller;
unsigned long cbMax;
JET_GRBIT grbit;
tchar szBaseTableName[256];
tchar szBaseColumnName[256];
} JET_COLUMNBASE;
Miembros
cbStruct
Tamaño de esta estructura, en bytes. Establezca cbStruct en sizeof( JET_COLUMNBASE ).
columnid
Reservado. Establezca columnid 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. Establezca en 0 (cero).
langid
Reservado. Establezca 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.
wFiller
Reservado. Establezca en 0 (cero).
cbMax
Longitud máxima, en bytes, de una columna de longitud variable o la longitud real, en bytes, de una columna de longitud fija.
grbit
Opciones de la columna, incluidos cero o más de los valores siguientes.
Valor |
Significado |
---|---|
JET_bitColumnFixed |
La columna es fija y ocupa la misma cantidad de espacio en una fila, independientemente de la cantidad de datos que contiene. JET_bitColumnFixed no se puede combinar con JET_bitColumnTagged y no se puede usar cuando el miembro coltyp está establecido en JET_coltypLongText o JET_coltypLongBinary. |
JET_bitColumnTagged |
La columna se etiqueta y ocupa espacio en la base de datos solo si contiene datos. JET_bitColumnTagged no se pueden combinar con JET_bitColumnFixed, JET_bitColumnVersion o JET_bitColumnEscrowUpdate. |
JET_bitColumnNotNULL |
La columna no debe establecerse en un valor NULL . JET_bitColumnNotNULL no se pueden combinar con JET_bitColumnUserDefinedDefault. |
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 incrementa automáticamente para cada actualización de la fila. JET_bitColumnVersion solo se puede usar cuando el miembro coltyp está establecido en JET_coltypLong y no se puede combinar con JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate, JET_bitColumnTagged o JET_bitColumnUserDefinedDefault. |
JET_bitColumnAutoincrement |
La columna se incrementa 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 secuenciales. Por ejemplo, si se insertan cinco filas en una tabla, la columna incrementada automáticamente podría contener los valores { 1, 2, 6, 7, 8 }. JET_bitColumnAutoincrement solo se puede usar cuando el miembro coltyp está establecido en JET_coltypLong o JET_coltypCurrency y no se puede combinar con JET_bitColumnEscrowUpdate, JET_bitColumnUserDefinedDefault o JET_bitColumnVersion. Windows 2000: JET_bitColumnVersion solo se puede usar cuando el miembro coltyp está establecido en JET_coltypLong. |
JET_bitColumnUpdatable |
Válido solo para llamadas a JetGetColumnInfo. JET_bitColumnUpdatable no se pueden combinar con JET_bitColumnUserDefinedDefault. |
JET_bitColumnTTKey |
Válido solo en llamadas a JetOpenTable. |
JET_bitColumnTTDescending |
Válido solo 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 en el miembro itagSequence de varias estructuras, por ejemplo, JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMN, JET_ENUMCOLUMNVALUE. Las columnas con varios valores deben etiquetarse; es decir, es posible que no sean columnas de longitud fija o de longitud variable. |
JET_bitColumnEscrowUpdate |
Especifica que una columna es una columna de actualización de custodia que se puede actualizar simultáneamente mediante sesiones diferentes con JetEscrowUpdate y tendrá coherencia transaccional.
|
JET_bitColumnUnversioned |
La columna se crea sin un número de versión. Esto significa que se producirá un error en otras transacciones que intenten agregar una columna con el mismo nombre. JET_bitColumnUnversioned solo se usa con JetAddColumn. No se puede usar dentro de una transacción. |
JET_bitColumnMaybeNull |
Reservado para uso futuro. JET_bitColumnMaybeNull no se puede combinar con JET_bitColumnUserDefinedDefault. |
JET_bitColumnFinalize |
No debe usarse. Use JET_bitColumnDeleteOnZero en su lugar. La columna se puede finalizar. Una columna que se puede finalizar es una columna de actualización de custodia que hace que la fila se elimine cuando la columna alcance cero. En su lugar, las versiones futuras pueden invocar una función de devolución de llamada (consulte JET_CALLBACK). Una columna que se puede finalizar debe ser una columna de actualización de custodia. JET_bitColumnFinalize no se pueden combinar 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. Si se especifica JET_bitColumnUserDefinedDefault , el pvDefault debe apuntar a una estructura de JET_USERDEFINEDDEFAULT y cbDefault debe establecerse en sizeof( JET_USERDEFINEDDEFAULT ). JET_bitColumnUserDefinedDefault no se puede combinar 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 las columnas delete-on-zero es como campos de recuento de referencias. Cuando el número de referencias se encuentra en cero, se elimina el registro. Una columna delete-on-zero debe ser una columna de actualización de custodia. JET_bitColumnDeleteOnZero reemplaza JET_bitColumnFinalize. JET_bitColumnDeleteOnZero no se puede combinar con JET_bitColumnFinalize o JET_bitColumnUserDefinedDefault, y no se puede usar con columnas predeterminadas definidas por el usuario. |
szBaseTableName
Tabla de la que la tabla actual hereda su DDL.
szBaseColumnName
Nombre de la columna de la tabla de plantilla.
Comentarios
JET_COLUMNBASE contiene gran parte de la misma información que JET_COLUMNDEF, pero agrega campos de cadena para describir la tabla base (si se usó un DDL jerárquico).
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. |
Unicode |
Se implementa como JET_COLUMNBASE_W (Unicode) y JET_COLUMNBASE_A (ANSI). |
Consulte también
JET_CALLBACK
JET_COLTYP
JET_COLUMNDEF
JET_COLUMNID
JET_GRBIT
JET_SESID
JET_TABLEID
JET_USERDEFINEDDEFAULT
JetGetColumnInfo
JetGetTableColumnInfo
JetRenameColumn