CDaoFieldInfo โครงสร้าง

โครงสร้างของCDaoFieldInfoมีแบบฟอร์มต่อไปนี้:

struct CDaoFieldInfo
{
 nbsp CString m_strName           / / หลัก
   m_nType ย่อ               / / หลัก
   ยาว m_lSize                / / หลัก
   ยาว m_lAttributes          / / หลัก
   m_nOrdinalPosition ย่อ    / / รอง
   BOOL m_bRequired            / / รอง
   BOOL m_bAllowZeroLength     / / รอง
   ยาว m_lCollatingOrder      / / รอง
   CString m_strForeignName    / / รอง
   CString m_strSourceField    / / รอง
   CString m_strSourceTable    / / รอง
   CString m_strValidationRule / / ทั้งหมด
   CString m_strValidationText / / ทั้งหมด
   CString m_strDefaultValue   / / ทั้งหมด
}(&N)

CDaoFieldInfoโครงสร้างประกอบด้วยข้อมูลเกี่ยวกับวัตถุเขตข้อมูลกำหนดไว้สำหรับ data access objects (DAO) อ้างอิงเป็น Primary, Secondary และทั้งหมดข้างต้นบ่งชี้วิธีที่ข้อมูลจะถูกส่งกลับ โดยฟังก์ชันGetFieldInfoสมาชิกในคลาCDaoTableDef, CDaoQueryDefและCDaoRecordset?

วัตถุเขตข้อมูลจะไม่ถูกแสดง โดยมีคลาส MFC แทน วัตถุ DAO MFC วัตถุคลาสที่ต่อไปที่ต้นแบบประกอบด้วยคอลเลกชันของวัตถุเขตข้อมูล: เขตข้อมูลCDaoTableDef, CDaoRecordsetและCDaoQueryDef เรียนเหล่านี้ใส่ฟังก์ชันของสมาชิกในการเข้าถึงบางรายการแต่ละฟิลด์ข้อมูล หรือคุณสามารถเข้าถึงได้ทั้งหมดในครั้งเดียวกับวัตถุCDaoFieldInfoโดยการเรียกฟังก์ชันของวัตถุประกอบด้วยสมาชิกGetFieldInfo?

นอกเหนือจากการใช้สำหรับการตรวจสอบคุณสมบัติของวัตถุ คุณยังสามารถใช้CDaoFieldInfoสร้างมีพารามิเตอร์การป้อนข้อมูลสำหรับการสร้างเขตข้อมูลใหม่ในตัว tabledef มีตัวเลือกที่ง่ายกว่าสำหรับงานนี้ แต่ถ้าคุณต้องการให้ตัวควบคุมอย่างเข้มงวดขึ้น คุณสามารถใช้รุ่นCDaoTableDef::CreateFieldที่ใช้พารามิเตอร์CDaoFieldInfo?

สมาชิก

m_strName

ชื่อวัตถุเขตข้อมูลไม่ซ้ำกัน สำหรับรายละเอียด ดูหัวข้อ "ชื่อคุณสมบัติ" ในวิธีใช้ DAO?

m_nType

ค่าที่บ่งชี้ว่า ชนิดข้อมูลของเขตข้อมูลนั้น ดูรายละเอียดในหัวข้อ "ชนิดคุณสมบัติ" ในวิธีใช้ DAO ค่าของคุณสมบัตินี้อาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้:

m_lSize

ค่าที่บ่งชี้ขนาดสูงสุด ไบต์ วัตถุ DAO ฟิลด์ที่ประกอบด้วยข้อความหรือขนาดของวัตถุเขตข้อมูลที่ประกอบด้วยค่าข้อความหรือตัวเลขคง ที่ ดูรายละเอียดในหัวข้อ "คุณสมบัติขนาด" ในวิธีใช้ DAO ขนาดสามารถเป็นหนึ่งในค่าต่อไปนี้:

ชนิด ขนาด (ไบต์) คำอธิบาย
dbBoolean 1 ไบต์ ใช่/ไม่ใช่ (เหมือน True/False)
dbByte 1 ไบต์
dbInteger 2 จำนวนเต็ม
dbLong 4 ความยาว
dbCurrency 8 สกุลเงิน (COleCurrency)
dbSingle 4 เดียว
dbDouble 8 สองเท่า
dbDate 8 วัน / เวลา (COleDateTime)
dbText 1 - 255 ข้อความ (CString)
dbLongBinary 0 ยาวสอง (OLE Object CByteArray ใช้แทนCLongBinary)
dbMemo 0 บันทึก (CString)
dbGUID 16 Globally Identifier/สามารถ เฉพาะรหัสเฉพาะใช้กับการเรียกกระบวนการระยะไกล?

m_lAttributes

ระบุลักษณะของวัตถุเขตข้อมูลมีอยู่ โดย tabledef, recordset, querydef หรือดัชนีวัตถุ ค่าส่งกลับจะเป็นผลรวมของค่าคงเหล่านี้ สร้างขึ้น ด้วยตัวดำเนินการ OR ระดับบิต (|) c ++:

m_nOrdinalPosition

ค่าที่ระบุลำดับหมายเลขที่คุณต้องการให้เขตข้อมูลแสดง ด้วยวัตถุเขตข้อมูล DAO แสดงสัมพันธ์กับเขตข้อมูลอื่น ๆ คุณสามารถตั้งค่าคุณสมบัตินี้กับCDaoTableDef::CreateField สำหรับรายละเอียด ดูหัวข้อ "OrdinalPosition คุณสมบัติ" ในวิธีใช้ DAO?

m_bRequired

บ่งชี้ว่า วัตถุเขตข้อมูล DAO ต้องมีค่าไม่เป็น Null หากคุณสมบัตินี้เป็นจริงฟิลด์อนุญาตให้ค่า Null ถ้าจำเป็นต้องถูกตั้งค่าเป็นเท็จเขตข้อมูลสามารถประกอบด้วยค่า Null เป็นค่าที่ตรงกับเงื่อนไขที่ระบุ โดยการตั้งค่าคุณสมบัติ AllowZeroLength และกฎการตรวจสอบ ได้ ดูรายละเอียดในหัวข้อ "จำเป็นต้องใช้คุณสมบัติ" ในวิธีใช้ DAO คุณสามารถตั้งค่าคุณสมบัตินี้ให้เป็น tabledef กับCDaoTableDef::CreateField?

m_bAllowZeroLength

บ่งชี้ว่า เป็นสตริงว่าง ("") จะเป็นค่าที่ถูกต้องของวัตถุ DAO เขตข้อมูลมีชนิดข้อมูล Text หรือ Memo หากคุณสมบัตินี้เป็นจริงเป็นสตริงที่ว่างเปล่าเป็นค่าถูกต้อง คุณสามารถตั้งค่าคุณสมบัตินี้เป็นเท็จเพื่อให้แน่ใจว่า คุณไม่สามารถใช้เป็นสตริงว่างเมื่อต้องการตั้งค่าของเขตข้อมูล ดูรายละเอียดในหัวข้อ "AllowZeroLength คุณสมบัติ" ในวิธีใช้ DAO คุณสามารถตั้งค่าคุณสมบัตินี้ให้เป็น tabledef กับCDaoTableDef::CreateField?

m_lCollatingOrder

ระบุลำดับการจัดเรียงลำดับข้อความสำหรับการเปรียบเทียบสายอักขระหรือการเรียงลำดับ ดูรายละเอียดในหัวข้อ "การกำหนด Windows รีจิสทรีการตั้งค่าสำหรับ Data Access" ในวิธีใช้ DAO สำหรับรายการของค่าเป็นไปได้ที่ส่งกลับ ดูสมาชิกm_lCollatingOrderของโครงสร้างCDaoDatabaseInfo คุณสามารถตั้งค่าคุณสมบัตินี้ให้เป็น tabledef กับCDaoTableDef::CreateField?

m_strForeignName

ค่าที่ ความสัมพันธ์ ระบุชื่อของวัตถุ DAO เขตข้อมูลในตารางต่างประเทศที่สอดคล้องกับเขตข้อมูลในตารางหลัก สำหรับรายละเอียด ดูหัวข้อ "ForeignName คุณสมบัติ" ในวิธีใช้ DAO?

m_strSourceField

บ่งชี้ชื่อของเขตข้อมูลที่เป็นแหล่งของข้อมูลสำหรับวัตถุ DAO เขตข้อมูลอยู่ โดยการ tabledef, recordset หรือวัตถุ querydef ต้นฉบับ คุณสมบัตินี้บ่งชี้ว่า เกี่ยวข้องกับวัตถุเขตข้อมูลชื่อเขตข้อมูลต้นฉบับ ตัวอย่างเช่น คุณสามารถใช้คุณสมบัตินี้เพื่อระบุแหล่งต้นฉบับของข้อมูลในเขตข้อมูลแบบสอบถามชื่อไม่เกี่ยวข้องกับชื่อของเขตข้อมูลในตารางต้นแบบ สำหรับรายละเอียด ดูหัวข้อ "SourceField, SourceTable คุณสมบัติ" ในวิธีใช้ DAO คุณสามารถตั้งค่าคุณสมบัตินี้ให้เป็น tabledef กับCDaoTableDef::CreateField?

m_strSourceTable

บ่งชี้ชื่อของตารางที่เป็นแหล่งของข้อมูลสำหรับวัตถุ DAO เขตข้อมูลอยู่ โดยการ tabledef, recordset หรือวัตถุ querydef ต้นฉบับ คุณสมบัตินี้บ่งชี้ว่า เกี่ยวข้องกับวัตถุเขตข้อมูลชื่อตารางต้นฉบับ ตัวอย่างเช่น คุณสามารถใช้คุณสมบัตินี้เพื่อระบุแหล่งต้นฉบับของข้อมูลในเขตข้อมูลแบบสอบถามชื่อไม่เกี่ยวข้องกับชื่อของเขตข้อมูลในตารางต้นแบบ สำหรับรายละเอียด ดูหัวข้อ "SourceField, SourceTable คุณสมบัติ" ในวิธีใช้ DAO คุณสามารถตั้งค่าคุณสมบัตินี้ให้เป็น tabledef กับCDaoTableDef::CreateField?

m_strValidationRule

ค่าที่ตรวจสอบข้อมูลในเขตข้อมูลเมื่อมีการเปลี่ยนแปลง หรือเพิ่มลงในตาราง ดูรายละเอียดในหัวข้อ "กฎการตรวจสอบคุณสมบัติ" ในวิธีใช้ DAO คุณสามารถตั้งค่าคุณสมบัตินี้ให้เป็น tabledef กับCDaoTableDef::CreateField?

สำหรับข้อมูลที่เกี่ยวข้องเกี่ยวกับ tabledefs ดูสมาชิกm_strValidationRuleของโครงสร้างCDaoTableDefInfo?

m_strValidationText

ค่าที่ระบุข้อความของข้อความที่โปรแกรมประยุกต์ของคุณแสดงถ้าค่าของฟิลด์วัตถุ DAO ไม่เป็นไปตามกฎการตรวจสอบที่ระบุ โดยการตั้งค่าคุณสมบัติกฎการตรวจสอบ ดูรายละเอียดในหัวข้อ "ข้อความตรวจสอบคุณสมบัติ" ในวิธีใช้ DAO คุณสามารถตั้งค่าคุณสมบัตินี้ให้เป็น tabledef กับCDaoTableDef::CreateField?

m_strDefaultValue

ค่าเริ่มต้นของเขตข้อมูลวัตถุ DAO เมื่อสร้างเรกคอร์ดใหม่ การตั้งค่าคุณสมบัติค่าเริ่มต้นถูกป้อนเป็นค่าสำหรับเขตข้อมูลโดยอัตโนมัติ ดูรายละเอียดในหัวข้อ "คุณสมบัติค่าเริ่มต้น" ในวิธีใช้ DAO คุณสามารถตั้งค่าคุณสมบัตินี้ให้เป็น tabledef กับCDaoTableDef::CreateField?

ความคิดเห็น

ข้อมูลที่ดึงข้อมูล โดยฟังก์ชันสมาชิกGetFieldInfo (ของชั้นที่ประกอบด้วยเขตข้อมูล) จะเก็บไว้ในโครงสร้างแบบCDaoFieldInfo เรียกใช้ฟังก์ชันGetFieldInfoสมาชิกของวัตถุประกอบด้วยคอลเลกชันซึ่งมีเขตข้อมูลวัตถุเขตข้อมูลจะถูกเก็บอยู่ CDaoFieldInfoยังกำหนดฟังก์ชันการถ่ายโอนข้อมูลสมาชิกในการสร้างการตรวจแก้จุดบกพร่อง คุณสามารถใช้ถ่ายโอนข้อมูลเพื่อการถ่ายโอนข้อมูลเนื้อหาของวัตถุCDaoFieldInfo?

สำหรับข้อมูลเกี่ยวกับการใช้และโครงสร้างอื่น ๆ ข้อมูล DAO MFC นี้ ให้ดูบทความ DAO คอลเลกชัน: การขอรับข้อมูลเกี่ยวกับดาววัตถุในVisual c ++ Programmer ของคำแนะนำ?

ดูเพิ่มเติมnbspCDaoTableDef::GetFieldInfo, CDaoRecordset::GetFieldInfo, CDaoQueryDef::GetFieldInfo(&N)

Index