Bagikan melalui


Menggunakan Pustaka Kursor ODBC

Penting

Fitur ini akan dihapus dalam versi Windows yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Microsoft merekomendasikan penggunaan fungsionalitas kursor driver.

Untuk menggunakan pustaka kursor ODBC, aplikasi:

  1. Memanggil SQLSetConnectAttr dengan Atribut SQL_ATTR_ODBC_CURSORS untuk menentukan bagaimana pustaka kursor harus digunakan dengan koneksi tertentu. Pustaka kursor selalu dapat digunakan (SQL_CUR_USE_ODBC), digunakan hanya jika driver tidak mendukung kursor yang dapat digulir (SQL_CUR_USE_IF_NEEDED), atau tidak pernah digunakan (SQL_CUR_USE_DRIVER).

  2. Memanggil SQLConnect, SQLDriverConnect, atau SQLBrowseConnect untuk menyambungkan ke sumber data.

  3. Memanggil SQLSetStmtAttr untuk menentukan jenis kursor (SQL_ATTR_CURSOR_TYPE), konkurensi (SQL_ATTR_CONCURRENCY), dan ukuran set baris (SQL_ATTR_ROW_ARRAY_SIZE). Pustaka kursor mendukung kursor khusus ke depan dan statis. Kursor khusus penerusan harus bersifat baca-saja, sementara kursor statis dapat bersifat baca-saja atau dapat menggunakan kontrol konkurensi optimis yang membandingkan nilai.

  4. Mengalokasikan satu atau beberapa buffer set baris dan memanggil SQLBindCol satu atau beberapa kali untuk mengikat buffer ini ke kolom tataan hasil.

  5. Menghasilkan hasil yang ditetapkan dengan menjalankan pernyataan SELECT atau prosedur, atau dengan memanggil fungsi katalog. Jika aplikasi akan menjalankan pernyataan pembaruan yang diposisikan, aplikasi harus menjalankan pernyataan SELECT FOR UPDATE untuk menghasilkan kumpulan hasil.

  6. Memanggil SQLFetch atau SQLFetchScroll satu atau beberapa kali untuk menggulir kumpulan hasil.

Aplikasi dapat mengubah nilai data di buffer set baris. Untuk merefresh buffer set baris dengan data dari cache pustaka kursor, aplikasi memanggil SQLFetchScroll dengan argumen FetchOrientation diatur ke SQL_FETCH_RELATIVE dan argumen FetchOffset diatur ke 0.

Untuk mengambil data dari kolom yang tidak terikat, aplikasi memanggil SQLSetPos untuk memosisikan kursor pada baris yang diinginkan. Kemudian memanggil SQLGetData untuk mengambil data.

Untuk menentukan jumlah baris yang telah diambil dari sumber data, aplikasi memanggil SQLRowCount.