Estructura de JET_TABLECREATE3
Se aplica a: Windows | Windows Server
La estructura de JET_TABLECREATE3 contiene la información necesaria para crear una tabla rellenada con columnas e índices en una base de datos del motor de almacenamiento extensible (ESE) y que designa una función de devolución de llamada. La estructura JET_TABLECREATE3 la usa la función JetCreateTableColumnIndex3 .
La estructura JET_TABLECREATE3 se introdujo en el sistema operativo Windows 7.
typedef struct tagJET_TABLECREATE3 {
unsigned long cbStruct;
tchar* szTableName;
tchar* szTemplateTableName;
unsigned long ulPages;
unsigned long ulDensity;
JET_COLUMNCREATE* rgcolumncreate;
unsigned long cColumns;
JET_INDEXCREATE2* rgindexcreate;
unsigned long cIndexes;
tchar* szCallback;
JET_CBTYP cbtyp;
JET_GRBIT grbit;
JET_TABLEID tableid;
un JET_GRBIT grbit;
JET_SPACEHINTS* pSeqSpacehints;
JET_SPACEHINTS* pLVSpacehints;
unsigned long cbSeparateLV;
JET_TABLEID tableid;
unsigned long cCreated;
} JET_TABLECREATE3;>
Miembros
cbStruct
Tamaño de esta estructura en bytes (para expansión futura). Debe establecerse en sizeof( JET_TABLECREATE3 ) en bytes.
szTableName
El objeto de la tabla que se va a crear.
El nombre debe cumplir las siguientes condiciones:
Debe tener un valor menor que JET_cbNameMost, sin incluir el valor NULL de terminación.
Debe constar del siguiente conjunto de caracteres: 0 a 9, A a Z, a a z, y todos los demás signos de puntuación excepto el signo de exclamación (!), coma (,), corchete de apertura ([) y corchete de cierre (]); es decir, los caracteres ASCII 0x20, 0x22 a través de 0x2d, 0x2f a través de 0x5a, 0x5c y 0x5d a través de 0x7f.
No debe comenzar con un espacio.
Debe constar de al menos un carácter que no sea de espacio.
szTemplateTableName
Nombre de una tabla existente de la que se va a heredar el lenguaje de definición de datos base (DDL). El uso de una tabla de plantilla permite crear fácilmente muchas tablas con columnas e índices idénticos.
ulPages
Número inicial de páginas de base de datos que se van a asignar para la tabla. Especificar un número mayor que uno puede reducir la fragmentación si se insertan muchas filas en esta tabla.
ulDensity
Densidad de tabla, en puntos porcentuales. El número debe ser 0 o en el intervalo de 20 a 100. Pasar 0 significa que se debe usar el valor predeterminado. El valor predeterminado es 80.
rgcolumncreate
Matriz de estructuras de JET_COLUMNCREATE , cada una de las cuales corresponde a una columna que se va a crear en la nueva tabla.
cColumns
Número de JET_COLUMNCREATE elementos del parámetro rgcolumncreate .
rgindexcreate
Matriz de estructuras de JET_INDEXCREATE2 , cada una de las cuales corresponde a un índice que se va a crear en la nueva tabla.
cIndexes
Número de JET_INDEXCREATE2 elementos del parámetro rgindexcreate .
szCallback
Función a la que se llama durante determinados eventos. cbtyp determina cuándo se llamará a la función de devolución de llamada.
El formato de szCallback debe ser "module!function", por ejemplo, "alpha!beta" hace referencia a la función beta del módulo denominado "alpha".
El prototipo de la función debe coincidir con la función de devolución de llamada JET_CALLBACK .
cbtyp
Describe el tipo de función de devolución de llamada designada por szCallback. Para obtener más información, consulte JET_CBTYP.
Este campo de bits se compone de uno o varios de los valores de bits enumerados en la tabla siguiente.
Valor |
Significado |
---|---|
JET_cbtypFinalize |
Se llamará a la función de devolución de llamada cuando una columna que se pueda finalizar se haya ido a cero. |
JET_cbtypBeforeInsert |
Se llamará a la función de devolución de llamada antes de la inserción de registros. |
JET_cbtypAfterInsert |
Se llamará a la función de devolución de llamada después de que el motor de base de datos haya terminado de insertar un registro. |
JET_cbtypBeforeReplace |
Se llamará a la función de devolución de llamada antes de la modificación de un registro. |
JET_cbtypAfterReplace |
Se llamará a la función de devolución de llamada después de finalizar la modificación de un registro. |
JET_cbtypBeforeDelete |
Se llamará a la función de devolución de llamada antes de la eliminación de un registro. |
JET_cbtypAfterDelete |
Se llamará a la función de devolución de llamada después de eliminar un registro. |
JET_cbtypUserDefinedDefaultValue |
Se llamará a la función de devolución de llamada para calcular un valor predeterminado definido por el usuario. |
JET_cbtypFreeCursorLS |
Se llamará a la función de devolución de llamada cuando se deba liberar el almacenamiento local asociado a un cursor. |
JET_cbtypFreeTableLS |
Se llamará a la función de devolución de llamada cuando se deba liberar el almacenamiento local asociado a una tabla. |
grbit
Un grupo de bits que contiene cero o más de los valores de opción de llamada enumerados en la tabla siguiente.
Valor |
Significado |
---|---|
JET_bitTableCreateFixedDDL |
Impide las operaciones DDL de la tabla (como agregar o quitar columnas). |
JET_bitTableCreateTemplateTable |
Hace que la tabla sea una tabla de plantilla. A continuación, las nuevas tablas pueden especificar el nombre de esta tabla como su tabla de plantilla. Establecer JET_bitTableCreateTemplateTable implica JET_bitTableCreateFixedDDL. |
JET_bitTableCreateNoFixedVarColumnsInDerivedTables |
Debe usarse junto con JET_bitTableCreateTemplateTable. Desusado. No utilizar. |
pSeqSpacehints
Puntero a una estructura de JET_SPACEHINTS para el índice secuencial predeterminado.
pSeqSpacehints se introdujo en Windows 7.
pLVSpacehints
Puntero a una estructura de JET_SPACEHINTS para un árbol de valores largos separados.
pLVSpacehints se introdujo en Windows 7.
cbSeparateLV
Tamaño que se va a separar un LV intrínseco del registro principal. Cualquier estructura c de valor largo para un árbol LV separado. Para obtener más información, consulte ng-value en JET_SPACEHINTS. Las columnas de valor largo menor que este valor se pueden separar si el registro es demasiado grande.
cbSeparateLV se introdujo en Windows 7.
tableid
Campo de salida que contiene el JET_TABLEID de la nueva tabla si la llamada API se realiza correctamente. Si se produce un error en la llamada API, el valor no está definido. Esta tabla se abre exclusivamente.
cCreated
Campo de salida que contiene el recuento de objetos que se crean si la llamada API se realiza correctamente. Si se produce un error en la llamada API, el valor no está definido.
El recuento de objetos creados es igual a la suma de columnas, tablas e índices que se crean correctamente.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista o Windows XP. |
Servidor |
Requiere Windows Server 2008 o Windows Server 2003. |
Encabezado |
Declarado en Esent.h. |
Unicode |
Se implementa como JET_TABLECREATE3_W (Unicode) y JET_TABLECREATE3_A (ANSI). |
Consulte también
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2