Compartir a través de


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