Bagikan melalui


ODBC: Memanggil Fungsi ODBC API Secara Langsung

Kelas database menyediakan antarmuka yang lebih sederhana ke sumber data daripada ODBC. Akibatnya, kelas tidak merangkum semua ODBC API. Untuk fungsionalitas apa pun yang berada di luar kemampuan kelas, Anda harus memanggil fungsi ODBC API secara langsung. Misalnya, Anda harus memanggil fungsi katalog ODBC (::SQLColumns, , ::SQLProcedures::SQLTables, dan lainnya) secara langsung.

Catatan

Sumber data ODBC dapat diakses melalui kelas ODBC MFC, seperti yang dijelaskan dalam topik ini, atau melalui kelas MFC Data Access Object (DAO).

Untuk memanggil fungsi ODBC API secara langsung, Anda harus mengambil langkah yang sama yang akan Anda ambil jika Anda melakukan panggilan tanpa kerangka kerja. Langkah-langkahnya adalah:

  • Alokasikan penyimpanan untuk hasil apa pun yang dikembalikan panggilan.

  • Berikan ODBC HDBC atau HSTMT handel, tergantung pada tanda tangan parameter fungsi. Gunakan makro AFXGetHENV untuk mengambil handel ODBC.

    Variabel anggota CDatabase::m_hdbc dan CRecordset::m_hstmt tersedia sehingga Anda tidak perlu mengalokasikan dan menginisialisasinya sendiri.

  • Mungkin memanggil fungsi ODBC tambahan untuk mempersiapkan atau menindaklanjuti panggilan utama.

  • Batalkan alokasi penyimpanan setelah Anda selesai.

Untuk informasi selengkapnya tentang langkah-langkah ini, lihat Referensi Programmer ODBC.

Selain langkah-langkah ini, Anda perlu mengambil langkah tambahan untuk memeriksa nilai pengembalian fungsi, memastikan bahwa program Anda tidak menunggu panggilan asinkron selesai, dan sebagainya. Anda dapat menyederhanakan langkah-langkah terakhir ini dengan menggunakan makro AFX_SQL_ASYNC dan AFX_SQL_SYNC. Untuk informasi selengkapnya, lihat Makro dan global MFC.

Baca juga

Dasar-Dasar ODBC