共用方式為


CDaoFieldInfo 結構

CDaoFieldInfo 結構中為資料存取物件定義的物件包含欄位的資訊 (DAO)。

struct CDaoFieldInfo 
{ 
   CString m_strName;           // Primary 
   short m_nType;               // Primary 
   long m_lSize;                // Primary 
   long m_lAttributes;          // Primary 
   short m_nOrdinalPosition;    // Secondary 
   BOOL m_bRequired;            // Secondary 
   BOOL m_bAllowZeroLength;     // Secondary 
   long m_lCollatingOrder;      // Secondary 
   CString m_strForeignName;    // Secondary 
   CString m_strSourceField;    // Secondary 
   CString m_strSourceTable;    // Secondary 
   CString m_strValidationRule; // All 
   CString m_strValidationText; // All 
   CString m_strDefaultValue;   // All 
};

參數

  • m_strName
    唯一命名欄位物件。 如需詳細資訊,請參閱本主題「Name 屬性 DAO 說明。

  • m_nType
    表示欄位的資料型別的值。 如需詳細資訊,請參閱本主題「型別屬性」DAO 說明。 這個屬性的值可以是下列其中一項:

    • 是或不是,dbBooleanTRUEFALSE

    • dbByte 位元組

    • 簡短dbInteger

    • dbLong Long

    • dbCurrency 貨幣;請參閱 MFC 類別 COleCurrency

    • 唯一的dbSingle

    • dbDouble 雙

    • dbDate 日期/時間;請參閱 MFC 類別 COleDateTime

    • dbText 文字;請參閱 MFC 類別 CString

    • dbLongBinary 長二進位 (OLE 物件);,因為 CByteArray 是更豐富、更容易使用,您可能要使用 MFC 類別 CByteArray 而不是類別中的 CLongBinary

    • dbMemo 備忘目錄;請參閱 MFC 類別 CString

    • dbGUID 全域唯一識別項/通用唯一地識別項與遠端程序呼叫。 如需詳細資訊,請參閱本主題中的「型別屬性」DAO幫助。

    注意事項注意事項

    不要為二進位資料使用字串資料型別。這會讓資料通過 Unicode/ANSI 轉譯層,造成增加額外負荷和可能未預期的轉譯。

  • m_lSize
    表示的最大大小,以位元組為單位), DAO 欄位物件的值包含文字或固定大小的物件欄位包含文字或數值。 如需詳細資訊,請參閱本主題「大小屬性」DAO 說明。 大小可以是下列其中一個值:

    型別

    大小 (位元組)

    說明

    dbBoolean

    1 個位元組

    是或不是 (和 True/False 相同)

    dbByte

    1

    Byte

    dbInteger

    2

    Integer

    dbLong

    4

    Long

    dbCurrency

    8

    貨幣 (COleCurrency)

    dbSingle

    4

    Single

    dbDouble

    8

    Double

    dbDate

    8

    日期/時間 (COleDateTime)

    dbText

    1 - 255

    文字 (CString)

    dbLongBinary

    0

    長二進位 (OLE 物件; CByteArray;取代 CLongBinary的使用)

    dbMemo

    0

    備忘目錄 (CString)

    dbGUID

    16

    dbGUID 全域唯一識別項/通用唯一地識別項與遠端程序呼叫。

  • m_lAttributes
    指定 tabledef、資料錄集、querydef 或索引物件包含的欄位物件的特性。 傳回的值可以是這些常數的總和,建立 C++ 位元 OR ( |)運算子:

    • dbFixedField 欄位大小都已固定 (數字欄位的預設值)。

    • dbVariableField 欄位大小是變數 (僅限文字欄位)。

    • dbAutoIncrField 新資料錄的欄位值就會自動將無法變更的唯一的長整數。 只支援 Microsoft Jet 資料庫資料表。

    • 可以變更dbUpdatableField 欄位值。

    • dbDescending 欄位會依遞減 (Z -或 100 - 0) 順序排序 (僅適用於在索引物件的欄位集合的欄位物件;在 MFC 中,索引物件本身在 tabledef 物件包含了)。 如果省略這個常數,欄位以遞增 (A-Z 或 0 - 100) 順序 (預設值) 排序。

    當檢查這個屬性設定時,您可以使用 C++ 位元 AND 運算子 (&) 來測試特定屬性。 當設定多個屬性時,您可以透過加入適當的常數結合它們使用位元 OR ( |) 運算子。 如需詳細資訊,請參閱本主題「特性屬性」DAO 說明。

  • m_nOrdinalPosition
    指定數值命令需要欄位的值是由顯示的 DAO 欄位所表示相對於其他欄位。 您可以使用 CDaoTableDef::CreateField來設定此屬性。 如需詳細資訊,請參閱本主題「序號位置屬性」DAO 說明。

  • m_bRequired
    指示 DAO 欄位物件是否需要非 null 值。 如果這個屬性是 TRUE,欄位不允許 null 值。 如果必須設定為 FALSE,欄位可能包含符合 AllowZeroLength 和 ValidationRule 屬性指定的條件設定的空值以及值。 如需詳細資訊,請參閱本主題「需要屬性」DAO 說明。 您可以設定一 tabledef 的這個屬性與 CDaoTableDef::CreateField

  • m_bAllowZeroLength
    表示空字串 ("") 是否為 DAO 欄位物件的有效值與文字或備忘中資料型別的。 如果這個屬性是 TRUE,空字串是有效的值。 您可以將這個屬性設定為 FALSE 確保您無法使用空字串設定欄位的值。 如需詳細資訊,請參閱本主題「允許零長度的屬性」DAO 說明。 您可以設定一 tabledef 的這個屬性與 CDaoTableDef::CreateField

  • m_lCollatingOrder
    在文字指定排序順序的序列為字串比較或排序。 如需詳細資訊,請參閱本主題 < 自訂 Windows 資料存取的登錄設定 DAO 說明。 對於可能值的清單,請傳回 CDaoDatabaseInfo 結構的 m_lCollatingOrder 成員。 您可以設定一 tabledef 的這個屬性與 CDaoTableDef::CreateField

  • m_strForeignName
    位於關聯,外部資料表中指定 DAO 欄位物件名稱在主要資料表中對應欄位的值。 如需詳細資訊,請參閱本主題「外文名字屬性」DAO 說明。

  • m_strSourceField
    表示為資料原始來源為 tabledef、資料錄集或 querydef 物件包含的 DAO 欄位物件欄位的名稱。 這個屬性表示原始欄位名稱與欄位物件。 例如,您可以使用這個屬性決定資料的原始來源在名稱與欄位名稱是無關的在基底資料表中的查詢欄位。 如需詳細資訊,請參閱本主題 「SourceField , SourceTable 屬性」 DAO 說明。 您可以設定一 tabledef 的這個屬性與 CDaoTableDef::CreateField

  • m_strSourceTable
    表示為資料原始來源為 tabledef、資料錄集或 querydef 物件包含的 DAO 欄位物件欄位的名稱。 這個屬性表示原始表名稱與欄位物件。 例如,您可以使用這個屬性決定資料的原始來源在名稱與欄位名稱是無關的在基底資料表中的查詢欄位。 如需詳細資訊,請參閱本主題 「SourceField , SourceTable 屬性」 DAO 說明。 您可以設定一 tabledef 的這個屬性與 CDaoTableDef::CreateField

  • m_strValidationRule
    在欄位驗證資料的值,則變更或加入資料表。 如需詳細資訊,請參閱本主題「ValidationRule 屬性」DAO 說明。 您可以設定一 tabledef 的這個屬性與 CDaoTableDef::CreateField

    如需 tabledefs 的相關資訊,請參閱 CDaoTableDefInfo 結構的 m_strValidationRule 成員。

  • m_strValidationText
    指定訊息文字應用程式顯示的值,如果 DAO 欄位物件的值不符合 ValidationRule 屬性設定為指定的驗證規則。 如需詳細資訊,請參閱本主題「ValidationText 屬性」DAO 說明。 您可以設定一 tabledef 的這個屬性與 CDaoTableDef::CreateField

  • m_strDefaultValue
    DAO 欄位物件的預設值。 當新資料錄時,會建立 DefaultValue 屬性設定自動輸入,欄位的值。 如需詳細資訊,請參閱本主題「DefaultValue 屬性」DAO 說明。 您可以設定一 tabledef 的這個屬性與 CDaoTableDef::CreateField

備註

對主要,次要參考和所有在指令的資訊如何由類別 CDaoTableDefCDaoQueryDefCDaoRecordsetGetFieldInfo 成員函式所傳回。

欄位物件不是由 MFC 類別表示。 相反地,基礎下列類別的 MFC 物件的 DAO 參考欄位的物件的集合: CDaoTableDefCDaoRecordsetCDaoQueryDef。 這些類別提供成員函式存取欄位資訊一些個別項目也可以同時存取它們與 CDaoFieldInfo 物件藉由呼叫包含的 GetFieldInfo 物件的成員函式。

除了其檢查物件的屬性使用以外,您也可以使用 CDaoFieldInfo 來建立新的欄位中輸入參數 tabledef 的。 較簡單的選項為這項工作才能使用,但是,如果您想要更細微的控制項,您可以使用採用 CDaoFieldInfo 參數之 CDaoTableDef::CreateField 的版本。

GetFieldInfo 成員函式來擷取的資訊(包含欄位的類別)在 CDaoFieldInfo 結構中。 呼叫欄位集合欄位物件儲存所包含之物件的 GetFieldInfo 成員函式中。 CDaoFieldInfo 也會定義函式偵錯組建中一個 Dump 成員。 您可以使用 Dump 來傾印 CDaoFieldInfo 物件的內容。

需求

標頭: afxdao.h

請參閱

參考

CDaoTableDef::GetFieldInfo

CDaoRecordset::GetFieldInfo

CDaoQueryDef::GetFieldInfo

其他資源

結構、樣式、回呼和訊息對應