SQLSetPos (Pustaka Kursor)

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.

Topik ini membahas penggunaan fungsi SQLSetPos di pustaka kursor. Untuk informasi umum tentang SQLSetPos, lihat Fungsi SQLSetPos.

Pustaka kursor mendukung operasi SQL_POSITION hanya untuk argumen Operasi di SQLSetPos. Ini mendukung nilai SQL_LOCK_NO_CHANGE hanya untuk argumen LockType .

Jika driver tidak mendukung operasi massal, pustaka kursor mengembalikan SQLSTATE HYC00 (Driver tidak mampu) ketika SQLSetPos dipanggil dengan RowNumber sama dengan 0. Perilaku driver ini tidak disarankan.

Pustaka kursor tidak mendukung operasi SQL_UPDATE dan SQL_DELETE dalam panggilan ke SQLSetPos. Pustaka kursor mengimplementasikan pembaruan yang diposisikan atau menghapus pernyataan SQL dengan membuat pernyataan pembaruan atau penghapusan yang dicari dengan klausa WHERE yang menghitung nilai yang disimpan dalam cache-nya untuk setiap kolom terikat. Untuk informasi selengkapnya, lihat Memproses Pernyataan Pembaruan dan Penghapusan yang Diposisikan.

Jika driver tidak mendukung kursor statis, aplikasi yang bekerja dengan pustaka kursor harus memanggil SQLSetPos hanya pada set baris yang diambil oleh SQLExtendedFetch atau SQLFetchScroll, bukan oleh SQLFetch. Pustaka kursor mengimplementasikan SQLExtendedFetch dan SQLFetchScroll dengan melakukan panggilan berulang SQLFetch (dengan ukuran set baris 1) di driver. Pustaka kursor meneruskan panggilan ke SQLFetch, di sisi lain, melalui ke driver. Jika SQLSetPos dipanggil pada set baris multirow yang diambil oleh SQLFetch ketika driver tidak mendukung kursor statis, panggilan akan gagal karena SQLSetPos tidak berfungsi dengan kursor hanya ke depan. Ini akan terjadi bahkan jika aplikasi telah berhasil memanggil SQLSetStmtAttr untuk mengatur SQL_ATTR_CURSOR_TYPE ke SQL_CURSOR_STATIC, yang didukung pustaka kursor bahkan jika driver tidak mendukung kursor statis.