Bagikan melalui


Kelas CDaoQueryDef

Mewakili definisi kueri, atau "querydef," biasanya satu disimpan dalam database.

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::Get Koneksi 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. Ini 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::Set Koneksi 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 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. 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:

  1. Dalam semua kasus, pertama-tama buat CDaoQueryDef objek, berikan penunjuk ke objek CDaoDatabase tempat kueri berada.

  2. 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 memanggil Create Anda tidak memanggil Open.

    • Untuk membuat querydef sementara, panggil Create. Berikan string kosong untuk nama kueri. Jangan memanggil Append.

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 objek

  • Untuk 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. Jenis kueri ditentukan oleh konten pernyataan SQL yang Anda berikan. Untuk informasi tentang jenis kueri, lihat Execute fungsi anggota GetType dan . Kumpulan rekaman umumnya digunakan untuk kueri yang dikembalikan baris, biasanya yang menggunakan SELECT ... KATA kunci FROM . Execute paling umum digunakan untuk operasi massal. Untuk informasi selengkapnya, lihat Jalankan dan CDaoRecordset.

Querydefs dan Recordsets

Untuk menggunakan objek querydef untuk membuat CDaoRecordset objek, Anda biasanya membuat atau membuka querydef seperti yang dijelaskan di atas. 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 selengkapnya, lihat kelas CDaoRecordset.

Anda tidak dapat menggunakan querydef untuk membuat kumpulan rekaman (penggunaan paling umum untuk querydef) kecuali dalam status terbuka. Masukkan querydef ke dalam status terbuka dengan memanggil atau OpenCreate.

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

CObject

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 diizinkan untuk 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 telah 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 memanggil Create, inisialisasi querydef dengan langsung mengatur atributnya. Jangan memanggil Append.

Untuk mengatur atribut querydef, Anda dapat menggunakan fungsi anggota SetName, SetSQL, Set Koneksi, 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 kueri pilih. 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 akan mencerminkan perubahan dalam tabel terkait saat pembaruan atau penghapusan berskala berlaku.

Jika Anda menyertakan dan dbInconsistentdbConsistent 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::Get Koneksi

Panggil fungsi anggota ini untuk mendapatkan string koneksi yang terkait dengan sumber data querydef.

CString GetConnect();

Tampilkan Nilai

CString yang berisi string koneksi untuk querydef.

Keterangan

Fungsi ini hanya digunakan dengan sumber data ODBC dan driver ISAM tertentu. Ini tidak digunakan dengan Microsoft Jet (. Database MDB) ; dalam hal ini, GetConnect mengembalikan string kosong. Untuk informasi selengkapnya, lihat Mengatur Koneksi.

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 "properti Koneksi" 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 bersama 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 bersama 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:

  • Nama AFX_DAO_PRIMARY_INFO (Default), Ketik

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 struktur 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 akan 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 kemudian mungkin akan 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 Pilih

  • dbQAction Tindakan

  • dbQCrosstab Tab silang

  • dbQDelete Menghapus

  • dbQUpdate Update

  • dbQAppend Menambahkan

  • dbQMakeTable Buat tabel

  • dbQDDL Definisi data

  • dbQSQLPassThrough Pass-through

  • dbQSetOperation Union

  • dbQSPTBulk Digunakan dengan dbQSQLPassThrough 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 Jalankan atau untuk membuat objek CDaoRecordset . Untuk menempatkan querydef ke dalam panggilan status terbuka, buat (untuk querydef baru) atau Buka (untuk querydef yang sudah ada).

CDaoQueryDef::m_pDatabase

Berisi penunjuk ke objek CDaoDatabase yang terkait dengan objek querydef.

Keterangan

Gunakan penunjuk ini jika Anda perlu mengakses database secara langsung — misalnya, untuk mendapatkan penunjuk ke objek querydef atau recordset lainnya 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 — khususnya, jangan mengubah 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 dapat memanggil fungsi Jalankan anggotanya atau menggunakan querydef untuk membuat objek CDaoRecordset.

CDaoQueryDef::Set Koneksi

Panggil fungsi anggota ini untuk mengatur string koneksi objek querydef.

void SetConnect(LPCTSTR lpszConnect);

Parameter

lpsz Koneksi
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 Microsoft Jet (. Database 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 "properti Koneksi" 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 Mengatur Koneksi.

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.)

Baca juga

Kelas CObject
Bagan Hierarki
Kelas CDaoRecordset
Kelas CDaoDatabase
Kelas CDaoTableDef
Kelas CDaoException