Bagikan melalui


Membuat Konsumen Tanpa Menggunakan Wizard

Contoh berikut mengasumsikan bahwa Anda menambahkan dukungan konsumen OLE DB ke proyek ATL yang ada. Jika Anda ingin menambahkan dukungan konsumen OLE DB ke aplikasi MFC, Anda harus menjalankan Wizard Aplikasi MFC, yang membuat semua dukungan yang diperlukan dan memanggil rutinitas MFC yang diperlukan untuk menjalankan aplikasi.

Untuk menambahkan dukungan konsumen OLE DB tanpa menggunakan Wizard Konsumen ATL OLE DB:

  • Dalam file pch.h Anda, tambahkan pernyataan berikut#include:

    #include <atlbase.h>
    #include <atldbcli.h>
    #include <atldbsch.h> // if you are using schema templates
    

Secara terprogram, konsumen biasanya melakukan urutan operasi berikut:

  1. Buat kelas rekaman pengguna yang mengikat kolom ke variabel lokal. Dalam contoh ini, CMyTableNameAccessor adalah kelas rekaman pengguna (lihat Catatan Pengguna). Kelas ini berisi peta kolom dan peta parameter. Nyatakan anggota data di kelas rekaman pengguna untuk setiap bidang yang Anda tentukan di peta kolom Anda; untuk setiap anggota data ini, juga mendeklarasikan anggota data status dan anggota data panjang. Untuk informasi selengkapnya, lihat Anggota Data Status Bidang di Aksesor yang Dihasilkan Wizard.

    Catatan

    Jika Anda menulis konsumen Anda sendiri, variabel data harus datang sebelum variabel status dan panjang.

  • Membuat instans sumber data dan sesi. Tentukan jenis aksesor dan set baris apa yang akan digunakan lalu buat instans set baris menggunakan CCommand atau CTable:

    CDataSource ds;
    CSession ss;
    class CMyTableName : public CCommand<CAccessor<CMyTableNameAccessor>>
    
  • Panggil CoInitialize untuk menginisialisasi COM. Ini disebut dalam kode utama. Contohnya:

    HRESULT hr = CoInitialize(NULL);
    
  • Panggil CDataSource::Open atau salah satu variasinya.

  • Buka koneksi ke sumber data, buka sesi, dan buka dan inisialisasi set baris (dan jika perintah, jalankan juga):

    hr = ds.Open();
    hr = ss.Open(ds);
    hr = rs.Open();            // (Open also executes the command)
    
  • Secara opsional, atur properti set baris menggunakan CDBPropSet::AddProperty dan teruskan sebagai parameter ke rs.Open. Untuk contoh bagaimana hal ini dilakukan, lihat GetRowsetProperties di Metode Yang Dihasilkan Wizard Konsumen.

  • Anda sekarang dapat menggunakan set baris untuk mengambil/memanipulasi data.

  • Setelah aplikasi Anda selesai, tutup koneksi, sesi, dan set baris:

    rs.Close();
    ss.Close();
    ds.Close();
    

    Jika Anda menggunakan perintah, Anda mungkin ingin memanggil ReleaseCommand setelah Close. Contoh kode di CCommand::Close menunjukkan cara memanggil Close dan ReleaseCommand.

  • Panggil CoUnInitialize untuk membatalkan menginisialisasi COM. Ini disebut dalam kode utama.

    CoUninitialize();
    

Baca juga

Membuat Konsumen OLE DB