Compartir a través de


Estructura de JET_TABLECREATE2

Se aplica a: Windows | Windows Server

Estructura de JET_TABLECREATE2

La estructura JET_TABLECREATE2 contiene la información necesaria para crear una tabla rellenada con columnas e índices en una base de datos ESE y que designa una función de devolución de llamada. JetCreateTableColumnIndex2 usa la estructura JET_TABLECREATE2.

Windows XP: La estructura JET_TABLECREATE2 se introduce en Windows XP.

    typedef struct tagJET_TABLECREATE2 {
      unsigned long cbStruct;
      tchar* szTableName;
      tchar* szTemplateTableName;
      unsigned long ulPages;
      unsigned long ulDensity;
      JET_COLUMNCREATE* rgcolumncreate;
      unsigned long cColumns;
      JET_INDEXCREATE* rgindexcreate;
      unsigned long cIndexes;
      tchar* szCallback;
      JET_CBTYP cbtyp;
      JET_GRBIT grbit;
      JET_TABLEID tableid;
      unsigned long cCreated;
    } JET_TABLECREATE2;

Miembros

cbStruct

Tamaño de esta estructura en bytes (para la expansión futura). Debe establecerse en sizeof( JET_TABLECREATE2 ) en bytes.

szTableName

Nombre de la tabla que se va a crear.

El nombre debe usar cumplir las condiciones siguientes:

  • Tener un valor menor que JET_cbNameMost, sin incluir el valor NULL de terminación.
  • Consta del siguiente conjunto de caracteres: 0 a 9, A a Z, a a z y el resto de signos de puntuación, excepto el signo de exclamación (!), coma (,), corchete de apertura ([) y corchete de cierre (]), es decir, caracteres ASCII 0x20, 0x22 a 0x2d, 0x2f a través de 0x5a, 0x5c y 0x5d a través de 0x7f.
  • No comienza con un espacio.
  • Consta de al menos un carácter que no sea de espacio.

szTemplateTableName

Nombre de una tabla ya existente de la que se va a heredar el DDL base (lenguaje de definición de datos). 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

el número de elementos JET_COLUMNCREATE en rgcolumncreate.

rgindexcreate

Matriz de estructuras de JET_INDEXCREATE , cada una de las cuales corresponde a un índice que se va a crear en la nueva tabla.

cIndexes

Número de elementos JET_INDEXCREATE en 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 en el módulo denominado "alpha". El prototipo de la función debe coincidir con JET_CALLBACK. Para obtener más información, consulte 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 bits siguientes.

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 una vez 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 eliminar 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_cbtypOnlineDefragCompleted

Se llamará a la función de devolución de llamada después de que se haya completado una llamada a JetDefragment2 .

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

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

Valor

Significado

JET_bitTableCreateFixedDDL

Establecer JET_bitTableCreateFixedDDL impide las operaciones DDL en la tabla (como agregar o quitar columnas).

JET_bitTableCreateTemplateTable

Establecer JET_bitTableCreateTemplateTable hace que la tabla sea una tabla de plantilla. Después, las tablas nuevas pueden especificar el nombre de esta tabla como tabla de plantilla. Establecer JET_bitTableCreateTemplateTable implica JET_bitTableCreateFixedDDL.

JET_bitTableCreateNoFixedVarColumnsInDerivedTables

Debe usarse junto con JET_bitTableCreateTemplateTable. Desusado. No utilizar.

tableid

Campo de salida que contiene la 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.

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_TABLECREATE2_W (Unicode) y JET_TABLECREATE2_A (ANSI).

Consulte también

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2