Struktur CDaoFieldInfo
Struktur CDaoFieldInfo
berisi informasi tentang objek bidang yang ditentukan untuk objek akses data (DAO).
Catatan
DAO didukung melalui Office 2013. DAO 3.6 adalah versi akhir, dan dianggap usang.
Sintaks
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
};
Parameter
m_strName
Menamai objek bidang dengan unik. Untuk detailnya, lihat topik "Properti Nama" di Bantuan DAO.
m_nType
Nilai yang menunjukkan jenis data bidang . Untuk detailnya, lihat topik "Ketik Properti" di Bantuan DAO. Nilai properti ini bisa menjadi salah satu dari berikut ini:
dbBoolean
Ya/Tidak, sama dengan TRUE/FALSEdbByte
BytedbInteger
PendekdbLong
PanjangdbCurrency
Mata uang; lihat Kelas MFC COleCurrencydbSingle
SatudbDouble
DobeldbDate
Tanggal/Waktu; lihat COleDateTime kelas MFCdbText
Teks; lihat CString kelas MFCdbLongBinary
Biner Panjang (Objek OLE); Anda mungkin ingin menggunakan kelas MFC CByteArray alih-alih kelasCLongBinary
sepertiCByteArray
yang lebih kaya dan lebih mudah digunakan.dbMemo
Memo; lihat kelas MFCCString
dbGUID
Pengidentifikasi Unik Global/Pengidentifikasi Unik Universal yang digunakan dengan panggilan prosedur jarak jauh. Untuk informasi selengkapnya, lihat topik "Ketik Properti" di Bantuan DAO.
Catatan
Jangan gunakan jenis data string untuk data biner. Ini menyebabkan data Anda melewati lapisan terjemahan Unicode/ANSI, yang mengakibatkan peningkatan overhead dan mungkin terjemahan yang tidak terduga.
m_lSize
Nilai yang menunjukkan ukuran maksimum, dalam byte, dari objek bidang DAO yang berisi teks atau ukuran tetap objek bidang yang berisi teks atau nilai numerik. Untuk detailnya, lihat topik "Properti Ukuran" di Bantuan DAO. Ukuran bisa menjadi salah satu nilai berikut:
Jenis | Ukuran (Byte) | Deskripsi |
---|---|---|
dbBoolean |
1 byte | Ya/Tidak (sama dengan True/False) |
dbByte |
1 | Byte |
dbInteger |
2 | Bilangan bulat |
dbLong |
4 | Panjang |
dbCurrency |
8 | Mata Uang (COleCurrency) |
dbSingle |
4 | Tunggal |
dbDouble |
8 | Laju |
dbDate |
8 | Tanggal/Waktu (COleDateTime) |
dbText |
1 - 255 | Teks (CString) |
dbLongBinary |
0 | Biner Panjang (Objek OLE; CByteArray; gunakan alih-alih CLongBinary ) |
dbMemo |
0 | Memo (CString) |
dbGUID |
16 | Pengidentifikasi Unik Global/Pengidentifikasi Unik Universal yang digunakan dengan panggilan prosedur jarak jauh. |
m_lAttributes
Menentukan karakteristik objek bidang yang dimuat oleh tabledef, recordset, querydef, atau objek indeks. Nilai yang dikembalikan dapat berupa jumlah konstanta ini, dibuat dengan operator C++ bitwise-OR (|
):
dbFixedField
Ukuran bidang diperbaiki (default untuk bidang Numerik).dbVariableField
Ukuran bidang adalah variabel (Bidang teks saja).dbAutoIncrField
Nilai bidang untuk rekaman baru secara otomatis ditambahkan ke bilangan bulat panjang unik yang tidak dapat diubah. Hanya didukung untuk tabel database Microsoft Jet.dbUpdatableField
Nilai bidang dapat diubah.dbDescending
Bidang diurutkan dalam urutan menurun (Z - A atau 100 - 0) (hanya berlaku untuk objek bidang dalam kumpulan Bidang objek indeks; di MFC, objek indeks sendiri terkandung dalam objek tabledef). Jika Anda menghilangkan konstanta ini, bidang diurutkan dalam urutan naik (A - Z atau 0 - 100) (default).
Saat memeriksa pengaturan properti ini, Anda dapat menggunakan operator C++ bitwise-AND (&
) untuk menguji atribut tertentu. Saat mengatur beberapa atribut, Anda dapat menggabungkannya dengan menggabungkan konstanta yang sesuai dengan operator bitwise-OR (|
). Untuk detailnya, lihat topik "Properti Atribut" di Bantuan DAO.
m_nOrdinalPosition
Nilai yang menentukan urutan numerik di mana Anda ingin bidang yang diwakili oleh objek bidang DAO ditampilkan relatif terhadap bidang lain. Anda dapat mengatur properti ini dengan CDaoTableDef::CreateField. Untuk detailnya, lihat topik "Properti OrdinalPosition" di Bantuan DAO.
m_bRequired
Menunjukkan apakah objek bidang DAO memerlukan nilai non-Null. Jika properti ini TRUE, bidang tidak memperbolehkan nilai Null. Jika Diperlukan diatur ke FALSE, bidang dapat berisi nilai Null serta nilai yang memenuhi kondisi yang ditentukan oleh pengaturan properti AllowZeroLength dan ValidationRule. Untuk detailnya, lihat topik "Properti yang Diperlukan" di Bantuan DAO. Anda dapat mengatur properti ini untuk tabledef dengan CDaoTableDef::CreateField.
m_bAllowZeroLength
Menunjukkan apakah string kosong ("") adalah nilai objek bidang DAO yang valid dengan tipe data Teks atau Memo. Jika properti ini TRUE, string kosong adalah nilai yang valid. Anda dapat mengatur properti ini ke FALSE untuk memastikan bahwa Anda tidak dapat menggunakan string kosong untuk mengatur nilai bidang. Untuk detailnya, lihat topik "AllowZeroLength Property" di Bantuan DAO. Anda dapat mengatur properti ini untuk tabledef dengan CDaoTableDef::CreateField.
m_lCollatingOrder
Menentukan urutan urutan pengurutan dalam teks untuk perbandingan atau pengurutan string. Untuk detailnya, lihat topik "Menyesuaikan Pengaturan Registri Windows untuk Akses Data" di Bantuan DAO. Untuk daftar nilai yang mungkin dikembalikan, lihat m_lCollatingOrder
anggota struktur CDaoDatabaseInfo . Anda dapat mengatur properti ini untuk tabledef dengan CDaoTableDef::CreateField.
m_strForeignName
Nilai yang, dalam relasi, menentukan nama objek bidang DAO dalam tabel asing yang sesuai dengan bidang dalam tabel utama. Untuk detailnya, lihat topik "Properti ForeignName" di Bantuan DAO.
m_strSourceField
Menunjukkan nama bidang yang merupakan sumber asli data untuk objek bidang DAO yang dimuat oleh objek tabledef, recordset, atau querydef. Properti ini menunjukkan nama bidang asli yang terkait dengan objek bidang. Misalnya, Anda dapat menggunakan properti ini untuk menentukan sumber asli data di bidang kueri yang namanya tidak terkait dengan nama bidang dalam tabel yang mendasar. Untuk detailnya, lihat topik "SourceField, SourceTable Properties" di Bantuan DAO. Anda dapat mengatur properti ini untuk tabledef dengan CDaoTableDef::CreateField.
m_strSourceTable
Menunjukkan nama tabel yang merupakan sumber asli data untuk objek bidang DAO yang dimuat oleh objek tabledef, recordset, atau querydef. Properti ini menunjukkan nama tabel asli yang terkait dengan objek bidang. Misalnya, Anda dapat menggunakan properti ini untuk menentukan sumber asli data di bidang kueri yang namanya tidak terkait dengan nama bidang dalam tabel yang mendasar. Untuk detailnya, lihat topik "SourceField, SourceTable Properties" di Bantuan DAO. Anda dapat mengatur properti ini untuk tabledef dengan CDaoTableDef::CreateField.
m_strValidationRule
Nilai yang memvalidasi data dalam bidang saat diubah atau ditambahkan ke tabel. Untuk detailnya, lihat topik "ValidationRule Property" di Bantuan DAO. Anda dapat mengatur properti ini untuk tabledef dengan CDaoTableDef::CreateField.
Untuk informasi terkait tentang tabledefs, lihat m_strValidationRule
anggota struktur CDaoTableDefInfo .
m_strValidationText
Nilai yang menentukan teks pesan yang ditampilkan aplikasi Anda jika nilai objek bidang DAO tidak memenuhi aturan validasi yang ditentukan oleh pengaturan properti ValidationRule. Untuk detailnya, lihat topik "ValidationText Property" di Bantuan DAO. Anda dapat mengatur properti ini untuk tabledef dengan CDaoTableDef::CreateField.
m_strDefaultValue
Nilai default objek bidang DAO. Saat rekaman baru dibuat, pengaturan properti DefaultValue secara otomatis dimasukkan sebagai nilai untuk bidang . Untuk detailnya, lihat topik "Properti DefaultValue" di Bantuan DAO. Anda dapat mengatur properti ini untuk tabledef dengan CDaoTableDef::CreateField.
Keterangan
Referensi ke Primer, Sekunder, dan Semua di atas menunjukkan bagaimana informasi dikembalikan oleh GetFieldInfo
fungsi anggota di kelas CDaoTableDef, CDaoQueryDef, dan CDaoRecordset.
Objek bidang tidak diwakili oleh kelas MFC. Sebagai gantinya, objek DAO yang mendasar objek MFC dari kelas berikut berisi kumpulan objek bidang: CDaoTableDef, CDaoRecordset, dan CDaoQueryDef. Kelas-kelas ini menyediakan fungsi anggota untuk mengakses beberapa item individual informasi bidang, atau Anda dapat mengakses semuanya sekaligus dengan objek dengan CDaoFieldInfo
memanggil GetFieldInfo
fungsi anggota dari objek yang berisi.
Selain penggunaannya untuk memeriksa properti objek, Anda juga dapat menggunakan CDaoFieldInfo
untuk membuat parameter input untuk membuat bidang baru dalam tabledef. Opsi yang lebih sederhana tersedia untuk tugas ini, tetapi jika Anda menginginkan kontrol yang lebih baik, Anda dapat menggunakan versi CDaoTableDef::CreateField yang mengambil CDaoFieldInfo
parameter.
Informasi yang GetFieldInfo
diambil oleh fungsi anggota (dari kelas yang berisi bidang ) disimpan dalam CDaoFieldInfo
struktur. GetFieldInfo
Panggil fungsi anggota dari objek yang berisi di yang bidangnya mengumpulkan objek bidang disimpan. CDaoFieldInfo
juga mendefinisikan fungsi anggota Dump
dalam pembangunan debug. Anda bisa menggunakan Dump
untuk membuang konten CDaoFieldInfo
dari suatu objek.
Persyaratan
Header: afxdao.h
Lihat juga
Struktur, Gaya, Panggilan Balik, serta Peta Pesan
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo