CDaoQueryDef
Kelas
Mewakili definisi kueri, atau "querydef," biasanya satu disimpan dalam database.
Catatan
Objek Akses Data (DAO) didukung melalui Office 2013. DAO 3.6 adalah versi akhir, dan usang.
Sintaks
class CDaoQueryDef : public CObject
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CDaoQueryDef::CDaoQueryDef | Membuat CDaoQueryDef objek. Panggilan Open berikutnya atau Create , tergantung pada kebutuhan Anda. |
Metode Publik
Nama | Deskripsi |
---|---|
CDaoQueryDef::Tambahkan | Menambahkan querydef ke koleksi QueryDefs database sebagai kueri tersimpan. |
CDaoQueryDef::CanUpdate | Mengembalikan nonzero jika kueri dapat memperbarui database. |
CDaoQueryDef::Close | Menutup objek querydef. Hancurkan objek C++ setelah Anda menyelesaikannya. |
CDaoQueryDef::Create | Membuat objek querydef DAO yang mendasar. Gunakan querydef sebagai kueri sementara, atau panggil Append untuk menyimpannya dalam database. |
CDaoQueryDef::Execute | Menjalankan kueri yang ditentukan oleh objek querydef. |
CDaoQueryDef::GetConnect | Mengembalikan string koneksi yang terkait dengan querydef. string koneksi mengidentifikasi sumber data. (Hanya untuk kueri pass-through SQL; jika tidak, string kosong.) |
CDaoQueryDef::GetDateCreated | Mengembalikan tanggal kueri tersimpan dibuat. |
CDaoQueryDef::GetDateLastUpdated | Mengembalikan tanggal kueri tersimpan terakhir diperbarui. |
CDaoQueryDef::GetFieldCount | Mengembalikan jumlah bidang yang ditentukan oleh querydef. |
CDaoQueryDef::GetFieldInfo | Mengembalikan informasi tentang bidang tertentu yang ditentukan dalam kueri. |
CDaoQueryDef::GetName | Mengembalikan nama querydef. |
CDaoQueryDef::GetODBCTimeout | Mengembalikan nilai batas waktu yang digunakan oleh ODBC (untuk kueri ODBC) saat querydef dijalankan yang menentukan berapa lama untuk memungkinkan tindakan kueri selesai. |
CDaoQueryDef::GetParameterCount | Mengembalikan jumlah parameter yang ditentukan untuk kueri. |
CDaoQueryDef::GetParameterInfo | Mengembalikan informasi tentang parameter tertentu ke kueri. |
CDaoQueryDef::GetParamValue | Mengembalikan nilai parameter tertentu ke kueri. |
CDaoQueryDef::GetRecordsAffected | Mengembalikan jumlah rekaman yang dipengaruhi oleh kueri tindakan. |
CDaoQueryDef::GetReturnsRecords | Mengembalikan nonzero jika kueri yang ditentukan oleh querydef mengembalikan rekaman. |
CDaoQueryDef::GetSQL | Mengembalikan string SQL yang menentukan kueri yang ditentukan oleh querydef. |
CDaoQueryDef::GetType | Mengembalikan jenis kueri: menghapus, memperbarui, menambahkan, membuat tabel, dan sebagainya. |
CDaoQueryDef::IsOpen | Mengembalikan nonzero jika querydef terbuka dan dapat dijalankan. |
CDaoQueryDef::Open | Membuka querydef yang sudah ada yang disimpan dalam koleksi QueryDefs database. |
CDaoQueryDef::SetConnect | Mengatur string koneksi untuk kueri pass-through SQL pada sumber data ODBC. |
CDaoQueryDef::SetName | Mengatur nama kueri yang disimpan, mengganti nama yang digunakan saat querydef dibuat. |
CDaoQueryDef::SetODBCTimeout | Mengatur nilai batas waktu yang digunakan oleh ODBC (untuk kueri ODBC) saat querydef dijalankan. |
CDaoQueryDef::SetParamValue | Mengatur nilai parameter yang ditentukan ke kueri. |
CDaoQueryDef::SetReturnsRecords | Menentukan apakah querydef mengembalikan rekaman. Mengatur atribut ini ke TRUE hanya valid untuk kueri pass-through SQL. |
CDaoQueryDef::SetSQL | Mengatur string SQL yang menentukan kueri yang ditentukan oleh querydef. |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CDaoQueryDef::m_pDAOQueryDef | Penunjuk ke antarmuka OLE untuk objek querydef DAO yang mendasar. |
CDaoQueryDef::m_pDatabase | Penunjuk ke CDaoDatabase objek tempat querydef dikaitkan. Querydef mungkin disimpan dalam database atau tidak. |
Keterangan
Querydef adalah objek akses data yang berisi pernyataan SQL yang menjelaskan kueri, dan propertinya, seperti "Tanggal Dibuat" dan "Batas Waktu ODBC." Anda juga dapat membuat objek querydef sementara tanpa menyimpannya, tetapi nyaman—dan jauh lebih efisien—untuk menyimpan kueri yang umum digunakan kembali dalam database. Objek CDaoDatabase mempertahankan koleksi, yang disebut koleksi QueryDefs, yang berisi querydef tersimpan.
Catatan
Kelas database DAO berbeda dari kelas database Microsoft Foundation Class (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.
Penggunaan
Gunakan objek querydef baik untuk bekerja dengan kueri tersimpan yang sudah ada atau untuk membuat kueri baru yang disimpan atau kueri sementara:
Dalam semua kasus, pertama-tama buat
CDaoQueryDef
objek, berikan penunjuk ke objek CDaoDatabase tempat kueri berada.Kemudian lakukan hal berikut, tergantung pada apa yang Anda inginkan:
Untuk menggunakan kueri tersimpan yang sudah ada, panggil fungsi Anggota terbuka objek querydef, yang menyediakan nama kueri yang disimpan.
Untuk membuat kueri baru yang disimpan, panggil fungsi Buat anggota objek querydef, yang menyediakan nama kueri. Kemudian panggil Tambahkan untuk menyimpan kueri dengan menambahkannya ke koleksi QueryDefs database.
Create
menempatkan querydef ke dalam status terbuka, jadi setelah memanggilCreate
Anda tidak memanggilOpen
.Untuk membuat querydef sementara, panggil
Create
. Berikan string kosong untuk nama kueri. Jangan panggilAppend
.
Saat Anda selesai menggunakan objek querydef, panggil fungsi Tutup anggotanya; lalu hancurkan objek querydef.
Tip
Cara term mudah untuk membuat kueri tersimpan adalah dengan membuatnya dan menyimpannya di database Anda menggunakan Microsoft Access. Kemudian Anda dapat membuka dan menggunakannya dalam kode MFC Anda.
Tujuan
Anda bisa menggunakan objek querydef untuk salah satu tujuan berikut:
Untuk membuat
CDaoRecordset
objekUntuk memanggil fungsi anggota objek
Execute
untuk langsung menjalankan kueri tindakan atau kueri pass-through SQL
Anda bisa menggunakan objek querydef untuk semua jenis kueri, termasuk memilih, tindakan, tab silang, menghapus, memperbarui, menambahkan, membuat tabel, definisi data, pass-through SQL, union, dan kueri massal. Konten pernyataan SQL yang Anda berikan menentukan jenis kueri. Untuk informasi tentang jenis kueri, lihat Execute
fungsi anggota dan GetType
. Kumpulan rekaman umumnya digunakan untuk kueri yang dikembalikan baris, biasanya kueri menggunakan SELECT ... KATA kunci FROM . Execute
paling umum digunakan untuk operasi massal. Untuk informasi lebih lanjut, lihat Execute
dan CDaoRecordset
.
Querydefs dan Recordsets
Untuk menggunakan objek querydef untuk membuat CDaoRecordset
objek, Anda biasanya membuat atau membuka querydef seperti yang dijelaskan sebelumnya. Kemudian buat objek recordset, meneruskan penunjuk ke objek querydef Anda saat Anda memanggil CDaoRecordset::Open
. Querydef yang Anda lewati harus dalam status terbuka. Untuk informasi lebih lanjut, lihat kelas CDaoRecordset
.
Anda tidak dapat menggunakan querydef untuk membuat kumpulan rekaman (penggunaan paling umum untuk querydef) kecuali jika dalam status terbuka. Masukkan querydef ke dalam status terbuka dengan memanggil atau Open
Create
.
Database Eksternal
Objek Querydef adalah cara yang lebih disukai untuk menggunakan dialek SQL asli dari mesin database eksternal. Misalnya, Anda dapat membuat kueri Transact SQL (seperti yang digunakan di Microsoft SQL Server) dan menyimpannya dalam objek querydef. Saat Anda perlu menggunakan kueri SQL yang tidak didasarkan pada mesin database Microsoft Jet, Anda harus menyediakan string koneksi yang menunjuk ke sumber data eksternal. Kueri dengan string koneksi yang valid melewati mesin database dan meneruskan kueri langsung ke server database eksternal untuk diproses.
Tip
Cara yang disukai untuk bekerja dengan tabel ODBC adalah dengan melampirkannya ke Microsoft Jet (. Database MDB).
Untuk informasi terkait, lihat topik "QueryDef Object", "QueryDefs Collection", dan "CdbDatabase Object" di DAO SDK.
Hierarki Warisan
CDaoQueryDef
Persyaratan
Header: afxdao.h
CDaoQueryDef::Tambahkan
Panggil fungsi anggota ini setelah Anda memanggil Buat untuk membuat objek querydef baru.
virtual void Append();
Keterangan
Append
menyimpan querydef dalam database dengan menambahkan objek ke koleksi QueryDefs database. Anda bisa menggunakan querydef sebagai objek sementara tanpa menambahkannya, tetapi jika Anda ingin itu tetap ada, Anda harus memanggil Append
.
Jika Anda mencoba menambahkan objek querydef sementara, MFC melemparkan pengecualian jenis CDaoException.
CDaoQueryDef::CanUpdate
Panggil fungsi anggota ini untuk menentukan apakah Anda dapat mengubah querydef—seperti mengubah namanya atau string SQL.
BOOL CanUpdate();
Tampilkan Nilai
Bukan nol jika Anda bisa mengubah querydef; jika tidak, 0.
Keterangan
Anda bisa mengubah querydef jika:
Ini tidak didasarkan pada database yang terbuka baca-saja.
Anda memiliki izin pembaruan untuk database.
Ini tergantung pada apakah Anda menerapkan fitur keamanan. MFC tidak memberikan dukungan untuk keamanan; Anda harus menerapkannya sendiri dengan memanggil DAO secara langsung atau dengan menggunakan Microsoft Access. Lihat topik "Properti Izin" di Bantuan DAO.
CDaoQueryDef::CDaoQueryDef
Membuat CDaoQueryDef
objek.
CDaoQueryDef(CDaoDatabase* pDatabase);
Parameter
pDatabase
Penunjuk ke objek CDaoDatabase terbuka.
Keterangan
Objek dapat mewakili querydef yang sudah ada yang disimpan dalam koleksi QueryDefs database, kueri baru yang akan disimpan dalam koleksi, atau kueri sementara, untuk tidak disimpan. Langkah Anda berikutnya bergantung pada jenis querydef:
Jika objek mewakili querydef yang ada, panggil fungsi Anggota terbuka objek untuk menginisialisasinya.
Jika objek mewakili querydef baru yang akan disimpan, panggil fungsi Buat anggota objek. Ini menambahkan objek ke koleksi QueryDefs database. Kemudian panggil
CDaoQueryDef
fungsi anggota untuk mengatur atribut objek. Terakhir, hubungi Tambahkan.Jika objek mewakili querydef sementara (tidak disimpan dalam database), panggil
Create
, meneruskan string kosong untuk nama kueri. Setelah memanggilCreate
, inisialisasi querydef dengan langsung mengatur atributnya. Jangan panggilAppend
.
Untuk mengatur atribut querydef, Anda dapat menggunakan fungsi anggota SetName, SetSQL, SetConnect, SetODBCTimeout, dan SetReturnsRecords .
Saat Anda selesai dengan objek querydef, panggil fungsi Tutup anggotanya. Jika Anda memiliki penunjuk ke querydef, gunakan delete
operator untuk menghancurkan objek C++.
CDaoQueryDef::Close
Panggil fungsi anggota ini saat Anda selesai menggunakan objek querydef.
virtual void Close();
Keterangan
Menutup querydef merilis objek DAO yang mendasar tetapi tidak menghancurkan objek querydef DAO yang disimpan atau objek C++ CDaoQueryDef
. Ini tidak sama dengan CDaoDatabase::D eleteQueryDef, yang menghapus querydef dari koleksi QueryDefs database di DAO (jika bukan querydef sementara).
CDaoQueryDef::Create
Panggil fungsi anggota ini untuk membuat kueri baru yang disimpan atau kueri sementara baru.
virtual void Create(
LPCTSTR lpszName = NULL,
LPCTSTR lpszSQL = NULL);
Parameter
lpszName
Nama unik kueri yang disimpan dalam database. Untuk detail tentang string, lihat topik "Metode CreateQueryDef" di Bantuan DAO. Jika Anda menerima nilai default, string kosong, querydef sementara akan dibuat. Kueri seperti itu tidak disimpan dalam koleksi QueryDefs.
lpszSQL
String SQL yang menentukan kueri. Jika Anda menerima nilai default NULL, Anda nanti harus memanggil SetSQL untuk mengatur string. Hingga saat itu, kueri tidak ditentukan. Namun, Anda dapat menggunakan kueri yang tidak ditentukan untuk membuka kumpulan rekaman; lihat Keterangan untuk detailnya. Pernyataan SQL harus ditentukan sebelum Anda bisa menambahkan querydef ke koleksi QueryDefs.
Keterangan
Jika Anda meneruskan nama di lpszName, Anda kemudian dapat memanggil Tambahkan untuk menyimpan querydef di koleksi QueryDefs database. Jika tidak, objek adalah querydef sementara dan tidak disimpan. Dalam kedua kasus, querydef dalam status terbuka, dan Anda dapat menggunakannya untuk membuat objek CDaoRecordset atau memanggil fungsi anggota Execute querydef.
Jika Anda tidak memberikan pernyataan SQL di lpszSQL, Anda tidak dapat menjalankan kueri dengan Execute
tetapi Anda dapat menggunakannya untuk membuat kumpulan rekaman. Dalam hal ini, MFC menggunakan pernyataan SQL default recordset.
CDaoQueryDef::Execute
Panggil fungsi anggota ini untuk menjalankan kueri yang ditentukan oleh objek querydef.
virtual void Execute(int nOptions = dbFailOnError);
Parameter
nOptions
Bilangan bulat yang menentukan karakteristik kueri. Untuk informasi terkait, lihat topik "Metode Eksekusi" di Bantuan DAO. Anda dapat menggunakan operator bitwise-OR (|
) untuk menggabungkan konstanta berikut untuk argumen ini:
dbDenyWrite
Tolak izin tulis ke pengguna lain.dbInconsistent
Pembaruan yang tidak konsisten.dbConsistent
Pembaruan yang konsisten.dbSQLPassThrough
Pass-through SQL. Menyebabkan pernyataan SQL diteruskan ke database ODBC untuk diproses.dbFailOnError
Nilai default. Gulung balik pembaruan jika terjadi kesalahan dan laporkan kesalahan kepada pengguna.dbSeeChanges
Buat kesalahan run-time jika pengguna lain mengubah data yang Sedang Anda edit.
Catatan
Untuk penjelasan tentang istilah "tidak konsisten" dan "konsisten," lihat topik "Jalankan Metode" dalam Bantuan DAO.
Keterangan
Objek Querydef yang digunakan untuk eksekusi dengan cara ini hanya dapat mewakili salah satu tipe kueri berikut:
Kueri tindakan
Kueri pass-through SQL
Execute
tidak berfungsi untuk kueri yang mengembalikan rekaman, seperti pilih kueri. Execute
umumnya digunakan untuk kueri operasi massal, seperti operasi UPDATE, INSERT, atau SELECT INTO, atau untuk bahasa definisi data (DDL).
Tip
Cara yang disukai untuk bekerja dengan sumber data ODBC adalah dengan melampirkan tabel ke Microsoft Jet (. Database MDB). Untuk informasi selengkapnya, lihat topik "Mengakses Database Eksternal dengan DAO" di Bantuan DAO.
Panggil fungsi anggota GetRecordsAffected dari objek querydef untuk menentukan jumlah rekaman yang terpengaruh oleh panggilan terbaruExecute
. Misalnya, GetRecordsAffected
mengembalikan informasi tentang jumlah rekaman yang dihapus, diperbarui, atau disisipkan saat menjalankan kueri tindakan. Jumlah yang dikembalikan tidak mencerminkan perubahan dalam tabel terkait saat pembaruan atau penghapusan berskala berlaku.
Jika Anda menyertakan dan dbInconsistent
dbConsistent
atau jika Anda tidak menyertakannya, hasilnya adalah default, dbInconsistent
.
Execute
tidak mengembalikan recordset. Menggunakan Execute
pada kueri yang memilih rekaman menyebabkan MFC melemparkan pengecualian jenis CDaoException.
CDaoQueryDef::GetConnect
Panggil fungsi anggota ini untuk mendapatkan string koneksi yang terkait dengan sumber data querydef.
CString GetConnect();
Tampilkan Nilai
yang CString
berisi string koneksi untuk querydef.
Keterangan
Fungsi ini hanya digunakan dengan sumber data ODBC dan driver ISAM tertentu. Ini tidak digunakan dengan database Microsoft Jet (.MDB
) ; dalam hal ini, GetConnect
mengembalikan string kosong. Untuk informasi selengkapnya, lihat SetConnect
.
Tip
Cara yang disukai untuk bekerja dengan tabel ODBC adalah dengan melampirkannya ke . Database MDB. Untuk informasi selengkapnya, lihat topik "Mengakses Database Eksternal dengan DAO" di Bantuan DAO.
Untuk informasi tentang string koneksi, lihat topik "Sambungkan Properti" di Bantuan DAO.
CDaoQueryDef::GetDateCreated
Panggil fungsi anggota ini untuk mendapatkan tanggal objek querydef dibuat.
COleDateTime GetDateCreated();
Tampilkan Nilai
Objek COleDateTime yang berisi tanggal dan waktu querydef dibuat.
Keterangan
Untuk informasi terkait, lihat topik "DateCreated, LastUpdated Properties" di Bantuan DAO.
CDaoQueryDef::GetDateLastUpdated
Panggil fungsi anggota ini untuk mendapatkan tanggal objek querydef terakhir diperbarui—ketika salah satu propertinya diubah, seperti namanya, string SQL-nya, atau string koneksi.
COleDateTime GetDateLastUpdated();
Tampilkan Nilai
Objek COleDateTime
yang berisi tanggal dan waktu querydef terakhir diperbarui.
Keterangan
Untuk informasi terkait, lihat topik "DateCreated, LastUpdated Properties" di Bantuan DAO.
CDaoQueryDef::GetFieldCount
Panggil fungsi anggota ini untuk mengambil jumlah bidang dalam kueri.
short GetFieldCount();
Tampilkan Nilai
Jumlah bidang yang ditentukan dalam kueri.
Keterangan
GetFieldCount
berguna untuk mengulangi semua bidang dalam querydef. Untuk tujuan itu, gunakan GetFieldCount
dengan GetFieldInfo
.
CDaoQueryDef::GetFieldInfo
Panggil fungsi anggota ini untuk mendapatkan berbagai jenis informasi tentang bidang yang ditentukan dalam querydef.
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 berbasis nol dari bidang yang diinginkan dalam kumpulan Bidang querydef, untuk pencarian menurut indeks.
fieldinfo
Referensi ke CDaoFieldInfo
objek yang mengembalikan informasi yang diminta.
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
AFX_DAO_SECONDARY_INFO Informasi utama ditambah: Posisi Ordinal, Diperlukan, Izinkan Panjang Nol, Bidang Sumber, Nama Asing, Tabel Sumber, Susunan Susunan
AFX_DAO_ALL_INFO Informasi primer dan sekunder ditambah: Nilai Default, Teks Validasi, Aturan Validasi
lpszName
String yang berisi nama bidang yang diinginkan, untuk pencarian berdasarkan nama. Anda dapat menggunakan CString
.
Keterangan
Untuk deskripsi informasi yang dikembalikan di fieldinfo, lihat struktur CDaoFieldInfo . Struktur ini memiliki anggota yang sesuai dengan informasi deskriptif di bawah dwInfoOptions di atas. Jika Anda meminta satu tingkat informasi, Anda juga mendapatkan tingkat informasi sebelumnya.
CDaoQueryDef::GetName
Panggil fungsi anggota ini untuk mengambil nama kueri yang diwakili oleh querydef.
CString GetName();
Tampilkan Nilai
Nama kueri.
Keterangan
Nama querydef adalah nama unik yang ditentukan pengguna. Untuk informasi selengkapnya tentang nama querydef, lihat topik "Properti Nama" di Bantuan DAO.
CDaoQueryDef::GetODBCTimeout
Panggil fungsi anggota ini untuk mengambil batas waktu saat ini sebelum kueri ke waktu sumber data ODBC habis.
short GetODBCTimeout();
Tampilkan Nilai
Jumlah detik sebelum waktu kueri habis.
Keterangan
Untuk informasi tentang batas waktu ini, lihat topik "Properti ODBCTimeout" di Bantuan DAO.
Tip
Cara yang disukai untuk bekerja dengan tabel ODBC adalah dengan melampirkannya ke Microsoft Jet (. Database MDB). Untuk informasi selengkapnya, lihat topik "Mengakses Database Eksternal dengan DAO" di Bantuan DAO.
CDaoQueryDef::GetParameterCount
Panggil fungsi anggota ini untuk mengambil jumlah parameter dalam kueri yang disimpan.
short GetParameterCount();
Tampilkan Nilai
Jumlah parameter yang ditentukan dalam kueri.
Keterangan
GetParameterCount
berguna untuk mengulangi semua parameter dalam querydef. Untuk tujuan itu, gunakan GetParameterCount
dengan GetParameterInfo
.
Untuk informasi terkait, lihat topik "Parameter Object", "Parameters Collection", dan "PARAMETERS Declaration (SQL)" di Bantuan DAO.
CDaoQueryDef::GetParameterInfo
Panggil fungsi anggota ini untuk mendapatkan informasi tentang parameter yang ditentukan dalam querydef.
void GetParameterInfo(
int nIndex,
CDaoParameterInfo& paraminfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetParameterInfo(
LPCTSTR lpszName,
CDaoParameterInfo& paraminfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Parameter
nIndex
Indeks berbasis nol dari parameter yang diinginkan dalam koleksi Parameter querydef, untuk pencarian menurut indeks.
paraminfo
Referensi ke objek CDaoParameterInfo yang mengembalikan informasi yang diminta.
dwInfoOptions
Opsi yang menentukan informasi mana tentang parameter yang akan diambil. Opsi yang tersedia tercantum di sini bersama dengan apa yang menyebabkan fungsi kembali:
AFX_DAO_PRIMARY_INFO
(Default) Nama, Jenis
lpszName
String yang berisi nama parameter yang diinginkan, untuk pencarian berdasarkan nama. Anda dapat menggunakan CString
.
Keterangan
Untuk deskripsi informasi yang dikembalikan dalam paraminfo
, lihat strukturnya CDaoParameterInfo
. Struktur ini memiliki anggota yang sesuai dengan informasi deskriptif di bawah dwInfoOptions
di atas.
Untuk informasi terkait, lihat topik "PARAMETERS Declaration (SQL)" di Bantuan DAO.
CDaoQueryDef::GetParamValue
Panggil fungsi anggota ini untuk mengambil nilai parameter yang ditentukan saat ini yang disimpan dalam kumpulan Parameter querydef.
virtual COleVariant GetParamValue(LPCTSTR lpszName);
virtual COleVariant GetParamValue(int nIndex);
Parameter
lpszName
Nama parameter yang nilainya Anda inginkan, untuk pencarian berdasarkan nama.
nIndex
Indeks berbasis nol parameter dalam koleksi Parameter querydef, untuk pencarian menurut indeks. Anda dapat memperoleh nilai ini dengan panggilan ke GetParameterCount dan GetParameterInfo.
Tampilkan Nilai
Objek kelas COleVariant yang berisi nilai parameter.
Keterangan
Anda dapat mengakses parameter baik berdasarkan nama atau dengan posisi ordinalnya dalam koleksi.
Untuk informasi terkait, lihat topik "PARAMETERS Declaration (SQL)" di Bantuan DAO.
CDaoQueryDef::GetRecordsAffected
Panggil fungsi anggota ini untuk menentukan berapa banyak rekaman yang terpengaruh oleh panggilan terakhir Jalankan.
long GetRecordsAffected();
Tampilkan Nilai
Jumlah rekaman yang terpengaruh.
Keterangan
Jumlah yang dikembalikan tidak mencerminkan perubahan dalam tabel terkait saat pembaruan atau penghapusan berskala berlaku.
Untuk informasi terkait, lihat topik "RecordsAffected Property" di Bantuan DAO.
CDaoQueryDef::GetReturnsRecords
Panggil fungsi anggota ini untuk menentukan apakah querydef didasarkan pada kueri yang mengembalikan rekaman.
BOOL GetReturnsRecords();
Tampilkan Nilai
Bukan nol jika querydef didasarkan pada kueri yang mengembalikan rekaman; jika tidak, 0.
Keterangan
Fungsi anggota ini hanya digunakan untuk kueri pass-through SQL. Untuk informasi selengkapnya tentang kueri SQL, lihat fungsi Jalankan anggota. Untuk informasi selengkapnya tentang bekerja dengan kueri pass-through SQL, lihat fungsi anggota SetReturnsRecords .
Untuk informasi terkait, lihat topik "Properti ReturnsRecords" di Bantuan DAO.
CDaoQueryDef::GetSQL
Panggil fungsi anggota ini untuk mengambil pernyataan SQL yang menentukan kueri yang menjadi dasar querydef.
CString GetSQL();
Tampilkan Nilai
Pernyataan SQL yang menentukan kueri yang menjadi dasar querydef.
Keterangan
Anda dapat mengurai string untuk kata kunci, nama tabel, dan sebagainya.
Untuk informasi terkait, lihat topik "Properti SQL", "Perbandingan Microsoft Jet Database Engine SQL dan ANSI SQL", dan "Mengkueri Database dengan SQL dalam Kode" di Bantuan DAO.
CDaoQueryDef::GetType
Panggil fungsi anggota ini untuk menentukan jenis kueri querydef.
short GetType();
Tampilkan Nilai
Jenis kueri yang ditentukan oleh querydef. Untuk nilai, lihat Keterangan.
Keterangan
Jenis kueri diatur oleh apa yang Anda tentukan dalam string SQL querydef saat Anda membuat querydef atau memanggil fungsi anggota SetSQL querydef yang sudah ada. Tipe kueri yang dikembalikan oleh fungsi ini bisa menjadi salah satu nilai berikut:
dbQSelect
PilihdbQAction
PerbuatandbQCrosstab
Tab silangdbQDelete
MenghapusdbQUpdate
PemutakhirandbQAppend
MenambahkandbQMakeTable
Buat tabeldbQDDL
Definisi datadbQSQLPassThrough
Pass-throughdbQSetOperation
UnidbQSPTBulk
Digunakan dengandbQSQLPassThrough
untuk menentukan kueri yang tidak mengembalikan rekaman.
Catatan
Untuk membuat kueri pass-through SQL, jangan atur dbSQLPassThrough
konstanta. Ini diatur secara otomatis oleh mesin database Microsoft Jet saat Anda membuat objek querydef dan mengatur string koneksi.
Untuk informasi tentang string SQL, lihat GetSQL. Untuk informasi tentang jenis kueri, lihat Jalankan.
CDaoQueryDef::IsOpen
Panggil fungsi anggota ini untuk menentukan apakah CDaoQueryDef
objek saat ini terbuka.
BOOL IsOpen() const;
Tampilkan Nilai
Bukan nol jika CDaoQueryDef
objek saat ini terbuka; jika tidak, 0.
Keterangan
Querydef harus dalam status terbuka sebelum Anda menggunakannya untuk memanggil Execute
atau membuat CDaoRecordset
objek. Untuk menempatkan querydef ke dalam status terbuka, panggil ( Create
untuk querydef baru) atau Open
(untuk querydef yang sudah ada).
CDaoQueryDef::m_pDatabase
Berisi penunjuk ke objek CDaoDatabase yang terkait dengan objek querydef.
Keterangan
Gunakan pointer ini jika Anda perlu mengakses database secara langsung. Misalnya, untuk mendapatkan pointer ke querydef lain atau objek recordset dalam koleksi database.
CDaoQueryDef::m_pDAOQueryDef
Berisi penunjuk ke antarmuka OLE untuk objek querydef DAO yang mendasar.
Keterangan
Pointer ini disediakan untuk kelengkapan dan konsistensi dengan kelas lainnya. Namun, karena MFC agak sepenuhnya merangkum querydef DAO, Anda tidak mungkin membutuhkannya. Jika Anda menggunakannya, lakukan dengan hati-hati. Secara khusus, jangan ubah nilai pointer kecuali Anda tahu apa yang Anda lakukan.
CDaoQueryDef::Open
Panggil fungsi anggota ini untuk membuka querydef yang sebelumnya disimpan dalam koleksi QueryDefs database.
virtual void Open(LPCTSTR lpszName = NULL);
Parameter
lpszName
String yang berisi nama querydef yang disimpan untuk dibuka. Anda dapat menggunakan CString
.
Keterangan
Setelah querydef terbuka, Anda bisa memanggil fungsi anggotanya Execute
atau menggunakan querydef untuk membuat CDaoRecordset
objek.
CDaoQueryDef::SetConnect
Panggil fungsi anggota ini untuk mengatur string koneksi objek querydef.
void SetConnect(LPCTSTR lpszConnect);
Parameter
lpszConnect
String yang berisi string koneksi untuk objek CDaoDatabase terkait.
Keterangan
string koneksi digunakan untuk meneruskan informasi tambahan ke ODBC dan driver ISAM tertentu sesuai kebutuhan. Ini tidak digunakan untuk database Microsoft Jet (.MDB
).
Tip
Cara yang disukai untuk bekerja dengan tabel ODBC adalah dengan melampirkannya ke . Database MDB.
Sebelum menjalankan querydef yang mewakili kueri pass-through SQL ke sumber data ODBC, atur string koneksi dengan SetConnect
dan panggil SetReturnsRecords untuk menentukan apakah kueri mengembalikan rekaman.
Untuk informasi selengkapnya tentang struktur string koneksi dan contoh komponen string koneksi, lihat topik "Sambungkan Properti" di Bantuan DAO.
CDaoQueryDef::SetName
Panggil fungsi anggota ini jika Anda ingin mengubah nama querydef yang tidak bersifat sementara.
void SetName(LPCTSTR lpszName);
Parameter
lpszName
String yang berisi nama baru untuk kueri nontemporer di objek CDaoDatabase terkait.
Keterangan
Nama querydef adalah nama unik yang ditentukan pengguna. Anda bisa memanggil SetName
sebelum objek querydef ditambahkan ke koleksi QueryDefs.
CDaoQueryDef::SetODBCTimeout
Panggil fungsi anggota ini untuk mengatur batas waktu sebelum kueri ke waktu sumber data ODBC habis.
void SetODBCTimeout(short nODBCTimeout);
Parameter
nODBCTimeout
Jumlah detik sebelum waktu kueri habis.
Keterangan
Fungsi anggota ini memungkinkan Anda mengambil alih jumlah detik default sebelum operasi berikutnya pada "waktu habis" sumber data yang terhubung. Operasi mungkin kehabisan waktu karena masalah akses jaringan, waktu pemrosesan kueri yang berlebihan, dan sebagainya. Panggil SetODBCTimeout
sebelum menjalankan kueri dengan querydef ini jika Anda ingin mengubah nilai batas waktu kueri. (Karena ODBC menggunakan kembali koneksi, nilai batas waktu sama untuk semua klien pada koneksi yang sama.)
Nilai default untuk batas waktu kueri adalah 60 detik.
CDaoQueryDef::SetParamValue
Panggil fungsi anggota ini untuk mengatur nilai parameter dalam querydef pada waktu proses.
virtual void SetParamValue(
LPCTSTR lpszName,
const COleVariant& varValue);
virtual void SetParamValue(
int nIndex,
const COleVariant& varValue);
Parameter
lpszName
Nama parameter yang nilainya ingin Anda atur.
varValue
Nilai yang akan ditetapkan; lihat Komentar.
nIndex
Posisi ordinal parameter dalam koleksi Parameter querydef. Anda dapat memperoleh nilai ini dengan panggilan ke GetParameterCount dan GetParameterInfo.
Keterangan
Parameter harus sudah ditetapkan sebagai bagian dari string SQL querydef. Anda dapat mengakses parameter baik berdasarkan nama atau dengan posisi ordinalnya dalam koleksi.
Tentukan nilai yang akan ditetapkan sebagai COleVariant
objek. Untuk informasi tentang mengatur nilai yang diinginkan dan mengetikkan objek Anda COleVariant
, lihat kelas COleVariant.
CDaoQueryDef::SetReturnsRecords
Panggil fungsi anggota ini sebagai bagian dari proses penyiapan kueri pass-through SQL ke database eksternal.
void SetReturnsRecords(BOOL bReturnsRecords);
Parameter
bReturnsRecords
Teruskan TRUE jika kueri pada database eksternal mengembalikan rekaman; jika tidak, FALSE.
Keterangan
Dalam kasus seperti itu, Anda harus membuat querydef dan mengatur propertinya menggunakan fungsi anggota lain CDaoQueryDef
. Untuk deskripsi database eksternal, lihat SetConnect.
CDaoQueryDef::SetSQL
Panggil fungsi anggota ini untuk mengatur pernyataan SQL yang dijalankan querydef.
void SetSQL(LPCTSTR lpszSQL);
Parameter
lpszSQL
String yang berisi pernyataan SQL lengkap, cocok untuk eksekusi. Sintaks string ini bergantung pada DBMS yang ditargetkan kueri Anda. Untuk diskusi sintaks yang digunakan dalam mesin database Microsoft Jet, lihat topik "Membangun Pernyataan SQL dalam Kode" di Bantuan DAO.
Keterangan
Penggunaan SetSQL
umum adalah menyiapkan objek querydef untuk digunakan dalam kueri pass-through SQL. (Untuk sintaks kueri pass-through SQL pada DBMS target Anda, lihat dokumentasi untuk DBMS Anda.)
Lihat juga
CObject
Kelas
Bagan Hierarki
CDaoRecordset
Kelas
CDaoDatabase
Kelas
CDaoTableDef
Kelas
CDaoException
Kelas