Kelas CDaoException
Mewakili kondisi pengecualian yang timbul dari kelas database MFC berdasarkan objek akses data (DAO).
Catatan
Objek Akses Data (DAO) didukung melalui Office 2013. DAO 3.6 adalah versi akhir, dan usang.
Sintaks
class CDaoException : public CException
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CDaoException::CDaoException | Membuat CDaoException objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CDaoException::GetErrorCount | Mengembalikan jumlah kesalahan dalam kumpulan Kesalahan mesin database. |
CDaoException::GetErrorInfo | Mengembalikan informasi kesalahan tentang objek kesalahan tertentu dalam kumpulan Kesalahan. |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CDaoException::m_nAfxDaoError | Berisi kode kesalahan yang diperluas untuk kesalahan apa pun di kelas MFC DAO. |
CDaoException::m_pErrorInfo | Penunjuk ke objek CDaoErrorInfo yang berisi informasi tentang satu objek kesalahan DAO. |
CDaoException::m_scode | Nilai SCODE yang terkait dengan kesalahan. |
Keterangan
Kelas ini mencakup anggota data publik yang dapat Anda gunakan untuk menentukan penyebab pengecualian. CDaoException
objek dibangun dan dilemparkan oleh fungsi anggota dari kelas database DAO.
Catatan
Kelas database DAO berbeda dari kelas database MFC berdasarkan Open Database Connectivity (ODBC). Semua nama kelas database DAO memiliki awalan "CDao". Anda masih dapat mengakses sumber data ODBC dengan kelas DAO. Secara umum, kelas MFC berdasarkan DAO lebih mampu daripada kelas MFC berdasarkan ODBC; kelas berbasis DAO dapat mengakses data, termasuk melalui driver ODBC, melalui mesin database mereka sendiri. Kelas berbasis DAO juga mendukung operasi Data Definition Language (DDL), seperti menambahkan tabel melalui kelas, tanpa harus memanggil DAO secara langsung. Untuk informasi tentang pengecualian yang dilemparkan oleh kelas ODBC, lihat CDBException.
Anda dapat mengakses objek pengecualian dalam cakupan ekspresi CATCH . Anda juga dapat melempar CDaoException
objek dari kode Anda sendiri dengan fungsi global AfxThrowDaoException .
Di MFC, semua kesalahan DAO dinyatakan sebagai pengecualian, dari jenis CDaoException
. Saat Anda menangkap pengecualian dari jenis ini, Anda dapat menggunakan CDaoException
fungsi anggota untuk mengambil informasi dari objek kesalahan DAO apa pun yang disimpan dalam koleksi Kesalahan mesin database. Saat setiap kesalahan terjadi, satu atau beberapa objek kesalahan ditempatkan dalam kumpulan Kesalahan. (Biasanya koleksi hanya berisi satu objek kesalahan; jika Anda menggunakan sumber data ODBC, Anda lebih mungkin mendapatkan beberapa objek kesalahan.) Ketika operasi DAO lain menghasilkan kesalahan, koleksi Kesalahan dibersihkan, dan objek kesalahan baru ditempatkan dalam koleksi Kesalahan. Operasi DAO yang tidak menghasilkan kesalahan tidak berpengaruh pada kumpulan Kesalahan.
Untuk kode kesalahan DAO, lihat file DAOERR.H. Untuk informasi terkait, lihat topik "Kesalahan Akses Data yang Dapat Dijebak" di Bantuan DAO.
Untuk informasi selengkapnya tentang penanganan pengecualian secara umum, atau tentang CDaoException
objek, lihat artikel Penanganan Pengecualian (MFC) dan Pengecualian: Pengecualian Database. Artikel kedua berisi contoh kode yang menggambarkan penanganan pengecualian di DAO.
Hierarki Warisan
CDaoException
Persyaratan
Header: afxdao.h
CDaoException::CDaoException
Membuat CDaoException
objek.
CDaoException();
Keterangan
Biasanya, kerangka kerja membuat objek pengecualian ketika kodenya melemparkan pengecualian. Anda jarang perlu membuat objek pengecualian secara eksplisit. Jika Anda ingin melempar CDaoException
dari kode Anda sendiri, panggil fungsi global AfxThrowDaoException.
Namun, Anda mungkin ingin secara eksplisit membuat objek pengecualian jika Anda melakukan panggilan langsung ke DAO melalui pointer antarmuka DAO yang dienkapsulasi kelas MFC. Dalam hal ini, Anda mungkin perlu mengambil informasi kesalahan dari DAO. Misalkan kesalahan terjadi di DAO saat Anda memanggil metode DAO melalui antarmuka DAODatabases ke koleksi Database ruang kerja.
Untuk mengambil informasi kesalahan DAO
Membuat
CDaoException
objek.Panggil fungsi anggota GetErrorCount objek pengecualian untuk menentukan berapa banyak objek kesalahan dalam koleksi Kesalahan mesin database. (Biasanya hanya satu, kecuali Anda menggunakan sumber data ODBC.)
Panggil fungsi anggota GetErrorInfo objek pengecualian untuk mengambil satu objek kesalahan tertentu pada satu waktu, dengan indeks dalam koleksi, melalui objek pengecualian. Anggap objek pengecualian sebagai proksi untuk satu objek kesalahan DAO.
Periksa struktur CDaoErrorInfo saat ini yang
GetErrorInfo
ditampilkan di anggota data m_pErrorInfo. Anggotanya memberikan informasi tentang kesalahan DAO.Dalam kasus sumber data ODBC, ulangi langkah 3 dan 4 sesuai kebutuhan, untuk objek kesalahan lainnya.
Jika Anda membuat objek pengecualian pada tumpukan, hapus dengan
delete
operator setelah selesai.
Untuk informasi selengkapnya tentang menangani kesalahan di kelas MFC DAO, lihat artikel Pengecualian: Pengecualian Database.
CDaoException::GetErrorCount
Panggil fungsi anggota ini untuk mengambil jumlah objek kesalahan DAO dalam kumpulan Kesalahan mesin database.
short GetErrorCount();
Tampilkan Nilai
Jumlah objek kesalahan DAO dalam kumpulan Kesalahan mesin database.
Keterangan
Informasi ini berguna untuk mengulangi koleksi Kesalahan untuk mengambil masing-masing dari satu atau beberapa objek kesalahan DAO dalam koleksi. Untuk mengambil objek kesalahan menurut indeks atau dengan nomor kesalahan DAO, panggil fungsi anggota GetErrorInfo .
Catatan
Biasanya hanya ada satu objek kesalahan dalam kumpulan Kesalahan. Namun, jika Anda bekerja dengan sumber data ODBC, mungkin ada lebih dari satu.
CDaoException::GetErrorInfo
Mengembalikan informasi kesalahan tentang objek kesalahan tertentu dalam kumpulan Kesalahan.
void GetErrorInfo(int nIndex);
Parameter
nIndex
Indeks informasi kesalahan dalam kumpulan Kesalahan mesin database, untuk pencarian menurut indeks.
Keterangan
Panggil fungsi anggota ini untuk mendapatkan jenis informasi berikut tentang pengecualian:
Kode kesalahan
Sumber
Deskripsi
File bantuan
Konteks bantuan
GetErrorInfo
menyimpan informasi dalam anggota data objek m_pErrorInfo
pengecualian. Untuk deskripsi singkat tentang informasi yang dikembalikan, lihat m_pErrorInfo. Jika Anda menangkap pengecualian jenis CDaoException
yang dilemparkan oleh MFC, m_pErrorInfo
anggota sudah akan diisi. Jika Anda memilih untuk memanggil DAO secara langsung, Anda harus memanggil fungsi anggota objek GetErrorInfo
pengecualian sendiri untuk mengisi m_pErrorInfo
. Untuk deskripsi yang lebih rinci, lihat struktur CDaoErrorInfo .
Untuk informasi tentang pengecualian DAO, dan contoh kode, lihat artikel Pengecualian: Pengecualian Database.
CDaoException::m_nAfxDaoError
Berisi kode kesalahan yang diperluas MFC.
Keterangan
Kode ini disediakan dalam kasus di mana komponen tertentu dari kelas MFC DAO telah hilang.
Kemungkinan nilai adalah:
NO_AFX_DAO_ERROR Operasi terbaru tidak mengakibatkan kesalahan perluasan MFC. Namun, operasi ini dapat menghasilkan kesalahan lain dari DAO atau OLE, jadi Anda harus memeriksa m_pErrorInfo dan mungkin m_scode.
AFX_DAO_ERROR_ENGINE_INITIALIZATION MFC tidak dapat menginisialisasi mesin database Microsoft Jet. OLE mungkin gagal diinisialisasi, atau mungkin tidak mungkin untuk membuat instans objek mesin database DAO. Masalah ini biasanya menyarankan penginstalan yang buruk dari DAO atau OLE.
AFX_DAO_ERROR_DFX_BIND Alamat yang digunakan dalam panggilan fungsi pertukaran bidang rekaman DAO (DFX) tidak ada atau tidak valid (alamat tidak digunakan untuk mengikat data). Anda mungkin telah melewati alamat buruk dalam panggilan DFX, atau alamat mungkin menjadi tidak valid antara operasi DFX.
AFX_DAO_ERROR_OBJECT_NOT_OPEN Anda mencoba membuka kumpulan rekaman berdasarkan querydef atau objek tabledef yang tidak dalam status terbuka.
CDaoException::m_pErrorInfo
Berisi penunjuk ke CDaoErrorInfo
struktur yang menyediakan informasi tentang objek kesalahan DAO yang terakhir Anda ambil dengan memanggil GetErrorInfo.
Keterangan
Objek ini berisi informasi berikut:
Anggota CDaoErrorInfo | Informasi | Makna |
---|---|---|
m_lErrorCode |
Kode Kesalahan | Kode kesalahan DAO |
m_strSource |
Sumber | Nama objek atau aplikasi yang awalnya menghasilkan kesalahan |
m_strDescription |
Deskripsi | String deskriptif yang terkait dengan kesalahan |
m_strHelpFile |
File Bantuan | Jalur ke file Bantuan Windows tempat pengguna bisa mendapatkan informasi tentang masalah tersebut |
m_lHelpContext |
Konteks Bantuan | ID konteks untuk topik dalam file Bantuan DAO |
Untuk detail selengkapnya tentang informasi yang terkandung dalam CDaoErrorInfo
objek, lihat struktur CDaoErrorInfo .
CDaoException::m_scode
Berisi nilai jenis SCODE
yang menjelaskan kesalahan.
Keterangan
Ini adalah kode OLE. Anda jarang perlu menggunakan nilai ini karena, dalam hampir semua kasus, informasi kesalahan MFC atau DAO yang lebih spesifik tersedia di anggota data lainnya CDaoException
.
Untuk informasi tentang SCODE, lihat topik Struktur Kode Kesalahan OLE di Windows SDK. Jenis data SCODE memetakan ke jenis data HRESULT.