Bagikan melalui


Kelas CDaoTableDef

Mewakili definisi tersimpan dari tabel dasar atau tabel terlampir.

Sintaks

class CDaoTableDef : public CObject

Anggota

Konstruktor Publik

Nama Deskripsi
CDaoTableDef::CDaoTableDef Membuat CDaoTableDef objek.

Metode Publik

Nama Deskripsi
CDaoTableDef::Tambahkan Menambahkan tabel baru ke database.
CDaoTableDef::CanUpdate Mengembalikan bukan nol jika tabel dapat diperbarui (Anda dapat mengubah definisi bidang atau properti tabel).
CDaoTableDef::Close Menutup tabledef yang terbuka.
CDaoTableDef::Create Membuat tabel yang dapat ditambahkan ke database menggunakan Tambahkan.
CDaoTableDef::CreateField Dipanggil untuk membuat bidang untuk tabel.
CDaoTableDef::CreateIndex Dipanggil untuk membuat indeks untuk tabel.
CDaoTableDef::D eleteField Dipanggil untuk menghapus bidang dari tabel.
CDaoTableDef::D eleteIndex Dipanggil untuk menghapus indeks dari tabel.
CDaoTableDef::GetAttributes Mengembalikan nilai yang menunjukkan satu atau beberapa CDaoTableDef karakteristik objek.
CDaoTableDef::Get Koneksi Mengembalikan nilai yang menyediakan informasi tentang sumber tabel.
CDaoTableDef::GetDateCreated Mengembalikan tanggal dan waktu tabel dasar yang CDaoTableDef mendasar objek dibuat.
CDaoTableDef::GetDateLastUpdated Mengembalikan tanggal dan waktu perubahan terbaru yang dilakukan pada desain tabel dasar.
CDaoTableDef::GetFieldCount Mengembalikan nilai yang menunjukkan jumlah bidang dalam tabel.
CDaoTableDef::GetFieldInfo Mengembalikan jenis informasi tertentu tentang bidang dalam tabel.
CDaoTableDef::GetIndexCount Mengembalikan jumlah indeks untuk tabel.
CDaoTableDef::GetIndexInfo Mengembalikan jenis informasi tertentu tentang indeks untuk tabel.
CDaoTableDef::GetName Mengembalikan nama tabel yang ditentukan pengguna.
CDaoTableDef::GetRecordCount Mengembalikan jumlah rekaman dalam tabel.
CDaoTableDef::GetSourceTableName Mengembalikan nilai yang menentukan nama tabel terlampir dalam database sumber.
CDaoTableDef::GetValidationRule Mengembalikan nilai yang memvalidasi data dalam bidang saat diubah atau ditambahkan ke tabel.
CDaoTableDef::GetValidationText Mengembalikan nilai yang menentukan teks pesan yang ditampilkan aplikasi Anda jika nilai objek Bidang tidak memenuhi aturan validasi yang ditentukan.
CDaoTableDef::IsOpen Mengembalikan nonzero jika tabel terbuka.
CDaoTableDef::Open Membuka tabledef yang sudah ada yang disimpan dalam koleksi TableDef database.
CDaoTableDef::RefreshLink Memperbarui informasi koneksi untuk tabel terlampir.
CDaoTableDef::SetAttributes Mengatur nilai yang menunjukkan satu atau beberapa CDaoTableDef karakteristik objek.
CDaoTableDef::Set Koneksi Mengatur nilai yang menyediakan informasi tentang sumber tabel.
CDaoTableDef::SetName Mengatur nama tabel.
CDaoTableDef::SetSourceTableName Mengatur nilai yang menentukan nama tabel terlampir dalam database sumber.
CDaoTableDef::SetValidationRule Mengatur nilai yang memvalidasi data dalam bidang saat diubah atau ditambahkan ke tabel.
CDaoTableDef::SetValidationText Mengatur nilai yang menentukan teks pesan yang ditampilkan aplikasi Anda jika nilai objek Bidang tidak memenuhi aturan validasi yang ditentukan.

Anggota Data Publik

Nama Deskripsi
CDaoTableDef::m_pDAOTableDef Penunjuk ke antarmuka DAO yang mendasar objek tabledef.
CDaoTableDef::m_pDatabase Database sumber untuk tabel ini.

Keterangan

Setiap objek database DAO mempertahankan koleksi, yang disebut TableDefs, yang berisi semua objek tabledef DAO yang disimpan.

Anda memanipulasi definisi tabel menggunakan CDaoTableDef objek. Misalnya, Anda dapat:

  • Periksa bidang dan struktur indeks dari tabel lokal, terlampir, atau eksternal dalam database.

  • SetConnect Panggil fungsi anggota dan SetSourceTableName untuk tabel terlampir, dan gunakan RefreshLink fungsi anggota untuk memperbarui koneksi ke tabel terlampir.

  • CanUpdate Panggil fungsi anggota untuk menentukan apakah Anda dapat mengedit definisi bidang dalam tabel.

  • Dapatkan atau atur kondisi validasi menggunakan GetValidationRule fungsi dan SetValidationRule, dan GetValidationText anggota dan SetValidationText .

  • Open Gunakan fungsi anggota untuk membuat objek jenis CDaoRecordset tabel, dynaset-, atau snapshot.

    Catatan

    Kelas database DAO berbeda dari kelas database MFC berdasarkan Open Database Koneksi ivity (ODBC). Semua nama kelas database DAO memiliki awalan "CDao". Anda masih dapat mengakses sumber data ODBC dengan kelas DAO; kelas DAO umumnya menawarkan kemampuan unggul karena khusus untuk mesin database Microsoft Jet.

Untuk menggunakan objek tabledef baik untuk bekerja dengan tabel yang sudah ada atau untuk membuat tabel baru

  1. Dalam semua kasus, pertama-tama buat CDaoTableDef objek, berikan pointer ke objek CDaoDatabase tempat tabel berada.

  2. Kemudian lakukan hal berikut, tergantung pada apa yang Anda inginkan:

    • Untuk menggunakan tabel tersimpan yang sudah ada, panggil fungsi Anggota terbuka objek tabledef, yang menyediakan nama tabel yang disimpan.

    • Untuk membuat tabel baru, panggil fungsi Buat anggota objek tabledef, yang menyediakan nama tabel. Panggil CreateField dan CreateIndex untuk menambahkan bidang dan indeks ke tabel.

    • Panggil Tambahkan untuk menyimpan tabel dengan menambahkannya ke koleksi TableDefs database. Create menempatkan tabledef ke dalam status terbuka, jadi setelah memanggil Create Anda tidak memanggil Open.

      Tip

      Cara term mudah untuk membuat tabel tersimpan adalah dengan membuatnya dan menyimpannya di database Anda menggunakan Microsoft Access. Kemudian Anda dapat membuka dan menggunakannya dalam kode MFC Anda.

Untuk menggunakan objek tabledef yang telah Anda buka atau buat, buat dan buka CDaoRecordset objek, tentukan nama tabledef dengan dbOpenTable nilai dalam parameter nOpenType .

Untuk menggunakan objek tabledef untuk membuat CDaoRecordset objek, Anda biasanya membuat atau membuka tabledef seperti yang dijelaskan di atas, lalu membuat objek recordset, meneruskan penunjuk ke objek tabledef saat Anda memanggil CDaoRecordset::Open. Tabledef yang Anda lewati harus dalam keadaan terbuka. Untuk informasi selengkapnya, lihat kelas CDaoRecordset.

Ketika Anda selesai menggunakan objek tabledef, panggil fungsi Tutup anggotanya; lalu hancurkan objek tabledef.

Hierarki Warisan

CObject

CDaoTableDef

Persyaratan

Header: afxdao.h

CDaoTableDef::Tambahkan

Panggil fungsi anggota ini setelah Anda memanggil Buat untuk membuat objek tabledef baru untuk menyimpan tabledef dalam database.

virtual void Append();

Keterangan

Fungsi menambahkan objek ke koleksi TableDefs database. Anda dapat menggunakan tabledef sebagai objek sementara sambil menentukannya dengan tidak menambahkannya, tetapi jika Anda ingin menyimpan dan menggunakannya, Anda harus memanggil Append.

Catatan

Jika Anda mencoba menambahkan tabledef yang tidak disebutkan namanya (berisi string null atau kosong), MFC akan memberikan pengecualian.

Untuk informasi terkait, lihat topik "Tambahkan Metode" di Bantuan DAO.

CDaoTableDef::CanUpdate

Panggil fungsi anggota ini untuk menentukan apakah definisi tabel yang mendasar CDaoTableDef objek dapat diubah.

BOOL CanUpdate();

Tampilkan Nilai

Bukan nol jika struktur tabel (skema) dapat dimodifikasi (tambahkan atau hapus bidang dan indeks), jika tidak 0.

Keterangan

Secara default, tabel yang baru dibuat yang mendasar CDaoTableDef objek dapat diperbarui, dan tabel terlampir yang CDaoTableDef mendasar objek tidak dapat diperbarui. Objek CDaoTableDef mungkin dapat diperbarui, bahkan jika kumpulan rekaman yang dihasilkan tidak dapat diperbarui.

Untuk informasi terkait, lihat topik "Properti yang Dapat Diperbarui" di Bantuan DAO.

CDaoTableDef::CDaoTableDef

Membuat CDaoTableDef objek.

CDaoTableDef(CDaoDatabase* pDatabase);

Parameter

pDatabase
Penunjuk ke objek CDaoDatabase .

Keterangan

Setelah membuat objek, Anda harus memanggil fungsi Buat atau Buka anggota. Setelah selesai dengan objek, Anda harus memanggil fungsi Tutup anggotanya dan menghancurkan CDaoTableDef objek.

CDaoTableDef::Close

Panggil fungsi anggota ini untuk menutup dan merilis objek tabledef.

virtual void Close();

Keterangan

Biasanya setelah memanggil Close, Anda menghapus objek tabledef jika dialokasikan dengan new.

Anda dapat memanggil Buka lagi setelah memanggil Close. Ini memungkinkan Anda menggunakan kembali objek tabledef.

Untuk informasi terkait, lihat topik "Tutup Metode" di Bantuan DAO.

CDaoTableDef::Create

Panggil fungsi anggota ini untuk membuat tabel tersimpan baru.

virtual void Create(
    LPCTSTR lpszName,
    long lAttributes = 0,
    LPCTSTR lpszSrcTable = NULL,
    LPCTSTR lpszConnect = NULL);

Parameter

lpszName
Penunjuk ke string yang berisi nama tabel.

lAttributes
Nilai yang sesuai dengan karakteristik tabel yang diwakili oleh objek tabledef. Anda dapat menggunakan bitwise-OR untuk menggabungkan salah satu konstanta berikut:

Terus-menerus Deskripsi
dbAttachExclusive Untuk database yang menggunakan mesin database Microsoft Jet, menunjukkan tabel adalah tabel terlampir yang dibuka untuk penggunaan eksklusif.
dbAttachSavePWD Untuk database yang menggunakan mesin database Microsoft Jet, menunjukkan bahwa ID pengguna dan kata sandi untuk tabel terlampir disimpan dengan informasi koneksi.
dbSystemObject Menunjukkan tabel adalah tabel sistem yang disediakan oleh mesin database Microsoft Jet.
dbHiddenObject Menunjukkan tabel adalah tabel tersembunyi yang disediakan oleh mesin database Microsoft Jet.

lpszSrcTable
Penunjuk ke string yang berisi nama tabel sumber. Secara default nilai ini diinisialisasi sebagai NULL.

lpsz Koneksi
Penunjuk ke string yang berisi string koneksi default. Secara default nilai ini diinisialisasi sebagai NULL.

Keterangan

Setelah Anda menamai tabledef, Anda kemudian dapat memanggil Tambahkan untuk menyimpan tabledef dalam koleksi TableDefs database. Setelah memanggil Append, tabledef dalam status terbuka, dan Anda dapat menggunakannya untuk membuat objek CDaoRecordset .

Untuk informasi terkait, lihat topik "Metode CreateTableDef" di Bantuan DAO.

CDaoTableDef::CreateField

Panggil fungsi anggota ini untuk menambahkan bidang ke tabel.

void CreateField(
    LPCTSTR lpszName,
    short nType,
    long lSize,
    long lAttributes = 0);

void CreateField(CDaoFieldInfo& fieldinfo);

Parameter

lpszName
Penunjuk ke ekspresi string yang menentukan nama bidang ini.

nType
Nilai yang menunjukkan jenis data bidang . Pengaturan dapat berupa salah satu nilai ini:

Jenis Ukuran (byte) Deskripsi
dbBoolean 1 byte BOOL
dbByte BYTE
dbInteger 2 int
dbLong 4 long
dbCurrency 8 Mata Uang ( COleCurrency)
dbSingle 4 float
dbDouble 8 ganda
dbDate 8 Tanggal/Waktu ( COleDateTime)
dbText 1 - 255 Teks ( CString)
dbLongBinary 0 Biner Panjang (Objek OLE), CLongBinary atau CByteArray
dbMemo 0 Memo ( CString)

lSize
Nilai yang menunjukkan ukuran maksimum, dalam byte, bidang yang berisi teks, atau ukuran tetap bidang yang berisi teks atau nilai numerik. Parameter lSize diabaikan untuk semua kecuali bidang teks.

lAttributes
Nilai yang sesuai dengan karakteristik bidang dan yang dapat digabungkan menggunakan bitwise-OR.

Terus-menerus Deskripsi
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). Jika Anda menghilangkan konstanta ini, bidang diurutkan dalam urutan naik (A - Z atau 0 - 100) (default).

fieldinfo
Referensi ke struktur CDaoFieldInfo .

Keterangan

Objek DAOField (OLE) dibuat dan ditambahkan ke kumpulan Bidang objek DAOTableDef (OLE). Selain penggunaannya untuk memeriksa properti objek, Anda juga dapat menggunakan CDaoFieldInfo untuk membuat parameter input untuk membuat bidang baru dalam tabledef. Versi pertama lebih CreateField mudah digunakan, tetapi jika Anda menginginkan kontrol yang lebih baik, Anda dapat menggunakan versi CreateFieldkedua , yang mengambil CDaoFieldInfo parameter.

Jika Anda menggunakan versi CreateField yang mengambil CDaoFieldInfo parameter, Anda harus mengatur masing-masing anggota CDaoFieldInfo struktur berikut dengan hati-hati:

  • m_strName

  • m_nType

  • m_lSize

  • m_lAttributes

  • m_bAllowZeroLength

Anggota yang tersisa CDaoFieldInfo harus diatur ke 0, FALSE, atau string kosong, yang sesuai untuk anggota, atau CDaoException mungkin terjadi.

Untuk informasi terkait, lihat topik "CreateField Method" di Bantuan DAO.

CDaoTableDef::CreateIndex

Panggil fungsi ini untuk menambahkan indeks ke tabel.

void CreateIndex(CDaoIndexInfo& indexinfo);

Parameter

indexinfo
Referensi ke struktur CDaoIndexInfo .

Keterangan

Indeks menentukan urutan rekaman yang diakses dari tabel database dan apakah rekaman duplikat diterima atau tidak. Indeks juga menyediakan akses yang efisien ke data.

Anda tidak perlu membuat indeks untuk tabel, tetapi dalam tabel besar yang tidak diindeks, mengakses rekaman tertentu atau membuat kumpulan rekaman dapat memakan waktu lama. Di sisi lain, membuat terlalu banyak indeks memperlambat operasi pembaruan, penambahan, dan penghapusan karena semua indeks diperbarui secara otomatis. Pertimbangkan faktor-faktor ini saat Anda memutuskan indeks mana yang akan dibuat.

Anggota CDaoIndexInfo struktur berikut harus diatur:

  • m_strName Nama harus disediakan.

  • m_pFieldInfos Harus menunjuk ke array CDaoIndexFieldInfo struktur.

  • m_nFields Harus menentukan jumlah bidang dalam array CDaoFieldInfo struktur.

Anggota yang tersisa akan diabaikan jika diatur ke FALSE. Selain itu, m_lDistinctCount anggota diabaikan selama pembuatan indeks.

CDaoTableDef::D eleteField

Panggil fungsi anggota ini untuk menghapus bidang dan membuatnya tidak dapat diakses.

void DeleteField(LPCTSTR lpszName);
void DeleteField(int nIndex);

Parameter

lpszName
Penunjuk ke ekspresi string yang merupakan nama bidang yang sudah ada.

nIndex
Indeks bidang dalam kumpulan Bidang berbasis nol tabel, untuk pencarian menurut indeks.

Keterangan

Anda dapat menggunakan fungsi anggota ini pada objek baru yang belum ditambahkan ke database atau ketika CanUpdate mengembalikan nonzero.

Untuk informasi terkait, lihat topik "Hapus Metode" di Bantuan DAO.

CDaoTableDef::D eleteIndex

Panggil fungsi anggota ini untuk menghapus indeks dalam tabel yang mendasar.

void DeleteIndex(LPCTSTR lpszName);
void DeleteIndex(int nIndex);

Parameter

lpszName
Penunjuk ke ekspresi string yang merupakan nama indeks yang sudah ada.

nIndex
Indeks array objek indeks dalam koleksi TableDefs berbasis nol database, untuk pencarian menurut indeks.

Keterangan

Anda dapat menggunakan fungsi anggota ini pada objek baru yang belum ditambahkan ke database atau ketika CanUpdate mengembalikan nonzero.

Untuk informasi terkait, lihat topik "Hapus Metode" di Bantuan DAO.

CDaoTableDef::GetAttributes

CDaoTableDef Untuk objek, nilai pengembalian menentukan karakteristik tabel yang diwakili oleh CDaoTableDef objek dan dapat berupa jumlah konstanta ini:

long GetAttributes();

Tampilkan Nilai

Mengembalikan nilai yang menunjukkan satu atau beberapa CDaoTableDef karakteristik objek.

Keterangan

Terus-menerus Deskripsi
dbAttachExclusive Untuk database yang menggunakan mesin database Microsoft Jet, menunjukkan tabel adalah tabel terlampir yang dibuka untuk penggunaan eksklusif.
dbAttachSavePWD Untuk database yang menggunakan mesin database Microsoft Jet, menunjukkan bahwa ID pengguna dan kata sandi untuk tabel terlampir disimpan dengan informasi koneksi.
dbSystemObject Menunjukkan tabel adalah tabel sistem yang disediakan oleh mesin database Microsoft Jet.
dbHiddenObject Menunjukkan tabel adalah tabel tersembunyi yang disediakan oleh mesin database Microsoft Jet.
dbAttachedTable Menunjukkan tabel adalah tabel terlampir dari database non-ODBC, seperti database Paradox.
dbAttachedODBC Menunjukkan tabel adalah tabel terlampir dari database ODBC, seperti Microsoft SQL Server.

Tabel sistem adalah tabel yang dibuat oleh mesin database Microsoft Jet untuk berisi berbagai informasi internal.

Tabel tersembunyi adalah tabel yang dibuat untuk penggunaan sementara oleh mesin database Microsoft Jet.

Untuk informasi terkait, lihat topik "Properti Atribut" di Bantuan DAO.

CDaoTableDef::Get Koneksi

Panggil fungsi anggota ini untuk mendapatkan string koneksi untuk sumber data.

CString GetConnect();

Tampilkan Nilai

Objek CString yang berisi jalur dan jenis database untuk tabel.

Keterangan

CDaoTableDef Untuk objek yang mewakili tabel terlampir, CString objek terdiri dari satu atau dua bagian (penentu jenis database dan jalur ke database).

Jalur seperti yang ditunjukkan pada tabel di bawah ini adalah jalur lengkap untuk direktori yang berisi file database dan harus didahului oleh pengidentifikasi "DATABASE=". Dalam beberapa kasus (seperti halnya database Microsoft Jet dan Microsoft Excel), nama file tertentu disertakan dalam argumen jalur database.

Tabel di CDaoTableDef::Set Koneksi memperlihatkan kemungkinan jenis database dan penentu dan jalur database yang sesuai:

Untuk tabel dasar database Microsoft Jet, penentu adalah string kosong ("").

Jika kata sandi diperlukan tetapi tidak disediakan, driver ODBC menampilkan kotak dialog masuk saat pertama kali tabel diakses dan sekali lagi jika koneksi ditutup dan dibuka kembali. Jika tabel terlampir memiliki dbAttachSavePWD atribut , perintah masuk tidak akan muncul saat tabel dibuka kembali.

Untuk informasi terkait, lihat topik "properti Koneksi" di Bantuan DAO.

CDaoTableDef::GetDateCreated

Panggil fungsi ini untuk menentukan tanggal dan waktu tabel yang mendasar CDaoTableDef objek dibuat.

COleDateTime GetDateCreated();

Tampilkan Nilai

Nilai yang berisi tanggal dan waktu pembuatan tabel yang mendasar CDaoTableDef objek.

Keterangan

Pengaturan tanggal dan waktu berasal dari komputer tempat tabel dasar dibuat atau terakhir diperbarui. Di lingkungan multipengguna, pengguna harus mendapatkan pengaturan ini langsung dari server file untuk menghindari perbedaan; artinya, semua klien harus menggunakan sumber waktu "standar" - mungkin dari satu server.

Untuk informasi terkait, lihat topik "DateCreated, LastUpdated Properties" di Bantuan DAO.

CDaoTableDef::GetDateLastUpdated

Panggil fungsi ini untuk menentukan tanggal dan waktu tabel yang mendasar CDaoTableDef objek terakhir diperbarui.

COleDateTime GetDateLastUpdated();

Tampilkan Nilai

Nilai yang berisi tanggal dan waktu tabel yang mendasar CDaoTableDef objek terakhir diperbarui.

Keterangan

Pengaturan tanggal dan waktu berasal dari komputer tempat tabel dasar dibuat atau terakhir diperbarui. Di lingkungan multipengguna, pengguna harus mendapatkan pengaturan ini langsung dari server file untuk menghindari perbedaan; artinya, semua klien harus menggunakan sumber waktu "standar" - mungkin dari satu server.

Untuk informasi terkait, lihat topik "DateCreated, LastUpdated Properties" di Bantuan DAO.

CDaoTableDef::GetFieldCount

Panggil fungsi anggota ini untuk mengambil jumlah bidang yang ditentukan dalam tabel.

short GetFieldCount();

Tampilkan Nilai

Jumlah bidang dalam tabel.

Keterangan

Jika nilainya adalah 0, tidak ada objek dalam koleksi.

Untuk informasi terkait, lihat topik "Hitung Properti" di Bantuan DAO.

CDaoTableDef::GetFieldInfo

Panggil fungsi anggota ini untuk mendapatkan berbagai jenis informasi tentang bidang yang ditentukan dalam tabledef.

void GetFieldInfo(
    int nIndex,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetFieldInfo(
    LPCTSTR lpszName,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parameter

nIndex
Indeks objek bidang dalam kumpulan Bidang berbasis nol tabel, untuk pencarian menurut indeks.

fieldinfo
Referensi ke struktur CDaoFieldInfo .

dwInfoOptions
Opsi yang menentukan informasi mana tentang bidang yang akan diambil. Opsi yang tersedia tercantum di sini bersama dengan apa yang menyebabkan fungsi kembali:

  • AFX_DAO_PRIMARY_INFO (Default) Nama, Jenis, Ukuran, Atribut. Gunakan opsi ini untuk performa tercepat.

  • AFX_DAO_SECONDARY_INFO Informasi utama, plus: Posisi Ordinal, Diperlukan, Izinkan Panjang Nol, Susunan Susunan, Nama Asing, Bidang Sumber, Tabel Sumber

  • AFX_DAO_ALL_INFO Informasi primer dan sekunder, plus: Aturan Validasi, Teks Validasi, Nilai Default

lpszName
Penunjuk ke nama objek bidang, untuk pencarian berdasarkan nama. Nama adalah string dengan hingga 64 karakter yang secara unik memberi nama bidang.

Keterangan

Satu versi fungsi memungkinkan Anda mencari bidang menurut indeks. Versi lainnya memungkinkan Anda mencari bidang berdasarkan nama.

Untuk deskripsi informasi yang dikembalikan, lihat struktur CDaoFieldInfo . Struktur ini memiliki anggota yang sesuai dengan item informasi yang tercantum di atas dalam deskripsi dwInfoOptions. Saat Anda meminta informasi di satu tingkat, Anda juga mendapatkan informasi untuk tingkat sebelumnya.

Untuk informasi terkait, lihat topik "Properti Atribut" di Bantuan DAO.

CDaoTableDef::GetIndexCount

Panggil fungsi anggota ini untuk mendapatkan jumlah indeks untuk tabel.

short GetIndexCount();

Tampilkan Nilai

Jumlah indeks untuk tabel.

Keterangan

Jika nilainya adalah 0, tidak ada indeks dalam koleksi.

Untuk informasi terkait, lihat topik "Hitung Properti" di Bantuan DAO.

CDaoTableDef::GetIndexInfo

Panggil fungsi anggota ini untuk mendapatkan berbagai jenis informasi tentang indeks yang ditentukan dalam tabledef.

void GetIndexInfo(
    int nIndex,
    CDaoIndexInfo& indexinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetIndexInfo(
    LPCTSTR lpszName,
    CDaoIndexInfo& indexinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parameter

nIndex
Indeks numerik objek Indeks dalam kumpulan Indeks berbasis nol tabel, untuk pencarian berdasarkan posisinya dalam koleksi.

indexinfo
Referensi ke struktur CDaoIndexInfo .

dwInfoOptions
Opsi yang menentukan informasi mana tentang indeks yang akan diambil. Opsi yang tersedia tercantum di sini bersama dengan apa yang menyebabkan fungsi kembali:

  • AFX_DAO_PRIMARY_INFO Nama, Info Bidang, Bidang. Gunakan opsi ini untuk performa tercepat.

  • AFX_DAO_SECONDARY_INFO Informasi utama, plus: Primer, Unik, Berkluster, Abaikan Null, Diperlukan, Asing

  • AFX_DAO_ALL_INFO Informasi primer dan sekunder, plus: Jumlah Yang Berbeda

lpszName
Penunjuk ke nama objek indeks, untuk pencarian berdasarkan nama.

Keterangan

Satu versi fungsi memungkinkan Anda mencari indeks berdasarkan posisinya dalam koleksi. Versi lainnya memungkinkan Anda mencari indeks berdasarkan nama.

Untuk deskripsi informasi yang dikembalikan, lihat struktur CDaoIndexInfo . Struktur ini memiliki anggota yang sesuai dengan item informasi yang tercantum di atas dalam deskripsi dwInfoOptions. Saat Anda meminta informasi di satu tingkat, Anda juga mendapatkan informasi untuk tingkat sebelumnya.

Untuk informasi terkait, lihat topik "Properti Atribut" di Bantuan DAO.

CDaoTableDef::GetName

Panggil fungsi anggota ini untuk mendapatkan nama tabel yang ditentukan pengguna.

CString GetName();

Tampilkan Nilai

Nama yang ditentukan pengguna untuk tabel.

Keterangan

Nama ini dimulai dengan huruf dan dapat berisi maksimal 64 karakter. Ini dapat mencakup angka dan karakter garis bawah tetapi tidak dapat menyertakan tanda baca atau spasi.

Untuk informasi terkait, lihat topik "Properti Nama" di Bantuan DAO.

CDaoTableDef::GetRecordCount

Panggil fungsi anggota ini untuk mengetahui berapa banyak rekaman dalam objek CDaoTableDef .

long GetRecordCount();

Tampilkan Nilai

Jumlah rekaman yang diakses dalam objek tabledef.

Keterangan

Memanggil GetRecordCount objek jenis CDaoTableDef tabel mencerminkan perkiraan jumlah rekaman dalam tabel dan langsung terpengaruh saat rekaman tabel ditambahkan dan dihapus. Transaksi yang digulung balik akan muncul sebagai bagian dari jumlah rekaman hingga Anda memanggil CDaoWorkSpace::CompactDatabase. Objek CDaoTableDef tanpa rekaman memiliki pengaturan properti jumlah rekaman 0. Saat bekerja dengan tabel terlampir atau database ODBC, GetRecordCount selalu mengembalikan -1.

Untuk informasi terkait, lihat topik "Properti RecordCount" di Bantuan DAO.

CDaoTableDef::GetSourceTableName

Panggil fungsi anggota ini untuk mengambil nama tabel terlampir dalam database sumber.

CString GetSourceTableName();

Tampilkan Nilai

Objek CString yang menentukan nama sumber tabel terlampir, atau string kosong jika tabel data asli.

Keterangan

Tabel terlampir adalah tabel dalam database lain yang ditautkan ke database Microsoft Jet. Data untuk tabel terlampir tetap berada di database eksternal, di mana tabel tersebut dapat dimanipulasi oleh aplikasi lain.

Untuk informasi terkait, lihat topik "Properti SourceTableName" di Bantuan DAO.

CDaoTableDef::GetValidationRule

Panggil fungsi anggota ini untuk mengambil aturan validasi untuk tabledef.

CString GetValidationRule();

Tampilkan Nilai

Objek CString yang memvalidasi data dalam bidang saat diubah atau ditambahkan ke tabel.

Keterangan

Aturan validasi digunakan sehubungan dengan operasi pembaruan. Jika tabledef berisi aturan validasi, pembaruan untuk tabledef tersebut harus cocok dengan kriteria yang telah ditentukan sebelum data diubah. Jika perubahan tidak cocok dengan kriteria, pengecualian yang berisi nilai GetValidationText akan dilemparkan. CDaoTableDef Untuk objek, ini CString baca-saja untuk tabel terlampir dan baca/tulis untuk tabel dasar.

Untuk informasi terkait, lihat topik "ValidationRule Property" di Bantuan DAO.

CDaoTableDef::GetValidationText

Panggil fungsi ini untuk mengambil string yang akan ditampilkan saat pengguna memasukkan data yang tidak cocok dengan aturan validasi.

CString GetValidationText();

Tampilkan Nilai

Objek CString yang menentukan teks yang ditampilkan jika pengguna memasukkan data yang tidak cocok dengan aturan validasi.

Keterangan

CDaoTableDef Untuk objek, ini CString baca-saja untuk tabel terlampir dan baca/tulis untuk tabel dasar.

Untuk informasi terkait, lihat topik "ValidationText Property" di Bantuan DAO.

CDaoTableDef::IsOpen

Panggil fungsi anggota ini untuk menentukan apakah CDaoTableDef objek saat ini terbuka.

BOOL IsOpen() const;

Tampilkan Nilai

Bukan nol jika CDaoTableDef objek terbuka; jika tidak, 0.

Keterangan

CDaoTableDef::m_pDatabase

Berisi penunjuk ke objek CDaoDatabase untuk tabel ini.

Keterangan

CDaoTableDef::m_pDAOTableDef

Berisi penunjuk ke antarmuka OLE untuk objek tabledef DAO yang mendasar CDaoTableDef objek.

Keterangan

Gunakan pointer ini jika Anda perlu mengakses antarmuka DAO secara langsung.

CDaoTableDef::Open

Panggil fungsi anggota ini untuk membuka tabledef yang sebelumnya disimpan dalam koleksi TableDef database.

virtual void Open(LPCTSTR lpszName);

Parameter

lpszName
Penunjuk ke string yang menentukan nama tabel.

Keterangan

Panggil fungsi anggota ini untuk memperbarui informasi koneksi untuk tabel terlampir.

void RefreshLink();

Keterangan

Anda mengubah informasi koneksi untuk tabel terlampir dengan memanggil Set Koneksi pada objek yang CDaoTableDef sesuai lalu menggunakan RefreshLink fungsi anggota untuk memperbarui informasi. Saat Anda memanggil RefreshLink, properti tabel terlampir tidak diubah.

Untuk memaksa informasi koneksi yang dimodifikasi berlaku, semua objek CDaoRecordset yang terbuka berdasarkan tabledef ini harus ditutup.

Untuk informasi terkait, lihat topik "Metode RefreshLink" di Bantuan DAO.

CDaoTableDef::SetAttributes

Mengatur nilai yang menunjukkan satu atau beberapa CDaoTableDef karakteristik objek.

void SetAttributes(long lAttributes);

Parameter

lAttributes
Karakteristik tabel yang diwakili oleh CDaoTableDef objek dan dapat berupa jumlah konstanta ini:

Terus-menerus Deskripsi
dbAttachExclusive Untuk database yang menggunakan mesin database Microsoft Jet, menunjukkan tabel adalah tabel terlampir yang dibuka untuk penggunaan eksklusif.
dbAttachSavePWD Untuk database yang menggunakan mesin database Microsoft Jet, menunjukkan bahwa ID pengguna dan kata sandi untuk tabel terlampir disimpan dengan informasi koneksi.
dbSystemObject Menunjukkan tabel adalah tabel sistem yang disediakan oleh mesin database Microsoft Jet.
dbHiddenObject Menunjukkan tabel adalah tabel tersembunyi yang disediakan oleh mesin database Microsoft Jet.

Keterangan

Saat mengatur beberapa atribut, Anda dapat menggabungkannya dengan menjumlahkan konstanta yang sesuai menggunakan operator bitwise-OR. Pengaturan dbAttachExclusive pada tabel yang tidak terpasang menghasilkan pengecualian. Menggabungkan nilai berikut juga menghasilkan pengecualian:

  • dbAttachExclusive | dbAttachedODBC

  • dbAttachSavePWD | dbAttachedTable

Untuk informasi terkait, lihat topik "Properti Atribut" di Bantuan DAO.

CDaoTableDef::Set Koneksi

CDaoTableDef Untuk objek yang mewakili tabel terlampir, objek string terdiri dari satu atau dua bagian (penentu jenis database dan jalur ke database).

void SetConnect(LPCTSTR lpszConnect);

Parameter

lpsz Koneksi
Penunjuk ke ekspresi string yang menentukan parameter tambahan untuk diteruskan ke ODBC atau driver ISAM yang dapat diinstal.

Keterangan

Jalur seperti yang ditunjukkan pada tabel di bawah ini adalah jalur lengkap untuk direktori yang berisi file database dan harus didahului oleh pengidentifikasi "DATABASE=". Dalam beberapa kasus (seperti halnya database Microsoft Jet dan Microsoft Excel), nama file tertentu disertakan dalam argumen jalur database.

Catatan

Jangan sertakan spasi kosong di sekitar pernyataan jalur masuk yang sama dari formulir "DATABASE=drive:\\path". Ini akan mengakibatkan pengecualian dilemparkan dan koneksi gagal.

Tabel berikut ini memperlihatkan kemungkinan jenis database dan penentu dan jalur database terkaitnya:

Jenis Database Penentu Jalur
Database menggunakan mesin database Jet "[ database];" " drive:\\ nama file jalur\\ . MDB"
dBASE III "dBASE III;" " drive:\\ jalur"
dBASE IV "dBASE IV;" " drive:\\ jalur"
dBASE 5 "dBASE 5.0;" " drive:\\ jalur"
Paradox 3.x "Paradox 3.x;" " drive:\\ jalur"
Paradox 4.x "Paradox 4.x;" " drive:\\ jalur"
Paradox 5.x "Paradox 5.x;" " drive:\\ jalur"
Excel 3.0 "Excel 3.0;" " drive:\\ path\\ filename.XLS"
Excel 4.0 "Excel 4.0;" " drive:\\ path\\ filename.XLS"
Excel 5.0 atau Excel 95 "Excel 5.0;" " drive:\\ path\\ filename.XLS"
Excel 97 "Excel 8.0;" " drive:\\ path\ filename.XLS"
Impor HTML "Impor HTML;" " drive:\\ nama file jalur\ "
Ekspor HTML "Ekspor HTML;" " drive:\\ jalur"
Teks "Teks;" "drive:\\path"
ODBC "ODBC; DATABASE= database; UID= pengguna; PWD= kata sandi; DSN= datasourcename; LOGINTIMEOUT= detik;" (Ini mungkin bukan string koneksi lengkap untuk semua server; ini hanyalah contoh. Sangat penting untuk tidak memiliki spasi di antara parameter.) Tidak ada
Exchange "Pertukaran;

MAPILEVEL= folderpath;

[TABLETYPE={ 0 | 1 };]

[PROFILE= profil;]

[PWD= kata sandi;]

[DATABASE= database;]"
"drive:\\ path\\ filename. MDB"

Catatan

Btrieve tidak lagi didukung pada DAO 3.5.

Anda harus menggunakan garis miring terbelakang ganda (\\) dalam string koneksi. Jika Anda telah memodifikasi properti koneksi yang sudah ada menggunakan SetConnect, Anda harus memanggil RefreshLink. Jika Anda menginisialisasi properti koneksi menggunakan SetConnect, Anda tidak perlu memanggil RefreshLink, tetapi jika Anda memilih untuk melakukannya, tambahkan tabledef terlebih dahulu.

Jika kata sandi diperlukan tetapi tidak disediakan, driver ODBC menampilkan kotak dialog masuk saat pertama kali tabel diakses dan sekali lagi jika koneksi ditutup dan dibuka kembali.

Anda dapat mengatur string koneksi untuk CDaoTableDef objek dengan memberikan argumen sumber ke Create fungsi anggota. Anda dapat memeriksa pengaturan untuk menentukan jenis, jalur, ID pengguna, kata sandi, atau sumber data ODBC database. Untuk informasi selengkapnya, lihat dokumentasi untuk driver tertentu.

Untuk informasi terkait, lihat topik "properti Koneksi" di Bantuan DAO.

CDaoTableDef::SetName

Panggil fungsi anggota ini untuk mengatur nama yang ditentukan pengguna untuk tabel.

void SetName(LPCTSTR lpszName);

Parameter

lpszName
Penunjuk ke ekspresi string yang menentukan nama untuk tabel.

Keterangan

Nama harus dimulai dengan huruf dan dapat berisi maksimal 64 karakter. Ini dapat mencakup angka dan karakter garis bawah tetapi tidak dapat menyertakan tanda baca atau spasi.

Untuk informasi terkait, lihat topik "Properti Nama" di Bantuan DAO.

CDaoTableDef::SetSourceTableName

Panggil fungsi anggota ini untuk menentukan nama tabel terlampir atau nama tabel dasar tempat CDaoTableDef objek berada, karena ada di sumber asli data.

void SetSourceTableName(LPCTSTR lpszSrcTableName);

Parameter

lpszSrcTableName
Penunjuk ke ekspresi string yang menentukan nama tabel di database eksternal. Untuk tabel dasar, pengaturannya adalah string kosong ("").

Keterangan

Anda kemudian harus memanggil RefreshLink. Pengaturan properti ini kosong untuk tabel dasar dan baca/tulis untuk tabel terlampir atau objek yang tidak ditambahkan ke koleksi.

Untuk informasi terkait, lihat topik "Properti SourceTableName" di Bantuan DAO.

CDaoTableDef::SetValidationRule

Panggil fungsi anggota ini untuk mengatur aturan validasi untuk tabledef.

void SetValidationRule(LPCTSTR lpszValidationRule);

Parameter

lpszValidationRule
Penunjuk ke ekspresi string yang memvalidasi operasi.

Keterangan

Aturan validasi digunakan sehubungan dengan operasi pembaruan. Jika tabledef berisi aturan validasi, pembaruan untuk tabledef tersebut harus cocok dengan kriteria yang telah ditentukan sebelum data diubah. Jika perubahan tidak cocok dengan kriteria, pengecualian yang berisi teks GetValidationText ditampilkan.

Validasi hanya didukung untuk database yang menggunakan mesin database Microsoft Jet. Ekspresi tidak dapat merujuk ke fungsi yang ditentukan pengguna, fungsi agregat domain, fungsi agregat SQL, atau kueri. Aturan validasi untuk CDaoTableDef objek dapat merujuk ke beberapa bidang dalam objek tersebut.

Misalnya, untuk bidang bernama hire_date dan termination_date, aturan validasi mungkin:

myTableDef.SetValidationRule(_T("termination_date > hire_date"));

Untuk informasi terkait, lihat topik "ValidationRule Property" di Bantuan DAO.

CDaoTableDef::SetValidationText

Panggil fungsi anggota ini untuk mengatur teks pengecualian aturan validasi untuk CDaoTableDef objek dengan tabel dasar yang mendasarinya yang didukung oleh mesin database Microsoft Jet.

void SetValidationText(LPCTSTR lpszValidationText);

Parameter

lpszValidationText
Penunjuk ke ekspresi string yang menentukan teks yang ditampilkan jika data yang dimasukkan tidak valid.

Keterangan

Anda tidak dapat mengatur teks validasi tabel terlampir.

Untuk informasi terkait, lihat topik "ValidationText Property" di Bantuan DAO.

Baca juga

Kelas CObject
Bagan Hierarki
Kelas CDaoDatabase
Kelas CDaoRecordset