共用方式為


JET_TABLECREATE3 結構

適用于: Windows |Windows Server

JET_TABLECREATE3結構包含在可延伸儲存引擎中建立填入資料行和索引之資料表所需的資訊, (ESE) 資料庫,以及指定回呼函式。 JetCreateTableColumnIndex3函式會使用JET_TABLECREATE3結構。

windows 7 作業系統中引進 了JET_TABLECREATE3 結構。

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;>

成員

cbStruct

此結構的大小,以位元組為單位, (以供日後擴充) 。 它必須設定為 sizeof,以位元組為單位 ( JET_TABLECREATE3 ) 。

szTableName

要建立之資料表的名稱。

名稱必須符合下列條件:

  • 它必須具有小於JET_cbNameMost的值,不包括終止 Null。

  • 它必須包含下列一組字元:0 到 9、A 到 Z、a 到 z,以及除了驚嘆號 (!) 、逗號 (、) 、左括弧 ([) ],以及右括弧 (]) ;也就是說,ASCII 字元0x20、0x22到0x2d、0x2f 0x5a、0x5c,以及透過0x7f 0x5d。

  • 它不得以空格開頭。

  • 它至少必須包含一個非空白字元。

szTemplateTableName

繼承基底資料定義語言的現有資料表名稱, (DDL) 。 使用範本資料表可讓您輕鬆地建立具有相同資料行和索引的許多資料表。

ulPages

要配置給資料表的資料庫頁面初始數目。 如果在此資料表中插入許多資料列,則指定大於一的數位可能會減少片段。

ulDensity

資料表密度,以百分比點為單位。 數位必須是 0 或介於 20 到 100 的範圍內。 傳遞 0 表示應該使用預設值。 預設值是 80。

rgcolumncreate

JET_COLUMNCREATE結構的陣列,每個結構都對應至新資料表中要建立的資料行。

cColumns

rgcolumncreate參數中的JET_COLUMNCREATE專案數目。

rgindexcreate

JET_INDEXCREATE2結構的陣列,每個結構都對應至新資料表中要建立的索引。

cIndexes

rgindexcreate參數中的JET_INDEXCREATE2專案數目。

szCallback

在特定事件期間呼叫的函式。 cbtyp 會決定何時會呼叫回呼函式。

szCallback的格式必須是 「module!function」,例如「Alpha!Beta」 是指名為 「Alpha」 的模組中的 Beta 函式。

函式的原型必須符合 JET_CALLBACK 回呼函式。

cbtyp

描述 szCallback所指定的回呼函式類型。 如需詳細資訊,請參閱 JET_CBTYP

這個 bitfield 是由下表所列的一或多個位值所組成。

意義

JET_cbtypFinalize

當可完成的資料行已消失為零時,將會呼叫回呼函式。

JET_cbtypBeforeInsert

回呼函式會在記錄插入之前呼叫。

JET_cbtypAfterInsert

在資料庫引擎完成插入記錄之後,將會呼叫回呼函式。

JET_cbtypBeforeReplace

在修改記錄之前,將會呼叫回呼函式。

JET_cbtypAfterReplace

完成記錄修改之後,將會呼叫回呼函式。

JET_cbtypBeforeDelete

刪除記錄之前,將會呼叫回呼函式。

JET_cbtypAfterDelete

刪除記錄之後,將會呼叫回呼函式。

JET_cbtypUserDefinedDefaultValue

系統會呼叫回呼函式來計算使用者定義的預設值。

JET_cbtypFreeCursorLS

必須釋放與資料指標相關聯的本機儲存體時,將會呼叫回呼函式。

JET_cbtypFreeTableLS

必須釋放與資料表相關聯的本機儲存體時,將會呼叫回呼函式。

grbit

包含下表所列之零或多個呼叫選項值的位群組。

意義

JET_bitTableCreateFixedDDL

防止資料表上的 DDL 作業 (,例如新增或移除資料行) 。

JET_bitTableCreateTemplateTable

使資料表成為範本資料表。 然後,新的資料表可以將此資料表的名稱指定為其範本資料表。 設定JET_bitTableCreateTemplateTable意指JET_bitTableCreateFixedDDL。

JET_bitTableCreateNoFixedVarColumnsInDerivedTables

必須與JET_bitTableCreateTemplateTable搭配使用。 已取代。 請勿使用。

pSeqSpacehints

預設循序索引 之JET_SPACEHINTS 結構的指標。

pSeqSpacehints 已在 Windows 7 中引進。

pLVSpacehints

分隔長值樹狀結構 之JET_SPACEHINTS 結構的指標。

pLVSpacehints 已在 Windows 7 中引進。

cbSeparateLV

要分隔內部 LV 與主要記錄的大小。 分隔 LV 樹狀結構的任何長值 c 結構。 如需詳細資訊,請參閱 JET_SPACEHINTS中的 ng 值。 如果記錄太大,則小於此值的長值資料行可能會分隔。

cbSeparateLV 已在 Windows 7 中引進。

tableid

如果 API 呼叫成功,則為保留新資料表 JET_TABLEID 的輸出欄位。 如果 API 呼叫失敗,則值未定義。 此資料表是獨佔開啟的。

cCreated

輸出欄位,其中包含 API 呼叫成功時所建立的物件計數。 如果 API 呼叫失敗,則此值為未定義。

所建立物件的計數等於成功建立的資料行、資料表和索引總和。

規格需求

需求

用戶端

需要 Windows Vista 或 Windows XP。

Server

需要 Windows Server 2008 或 Windows Server 2003。

標頭

在 Esent.h 中宣告。

Unicode

實作為 JET_TABLECREATE3_W (Unicode ) 和 JET_TABLECREATE3_A (ANSI) 。

另請參閱

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2