Kursor ODBC
Aplikasi mengambil data dengan kursor. Kursor berbeda dari kumpulan hasil: Kumpulan hasil adalah kumpulan baris yang cocok dengan kriteria pencarian tertentu, sedangkan kursor adalah perangkat lunak yang mengembalikan baris tersebut ke aplikasi. Kursor nama , seperti yang berlaku untuk database, mungkin berasal dari kursor berkedip di terminal komputer. Sama seperti kursor tersebut menunjukkan posisi saat ini di layar dan di mana kata-kata yang ditik akan muncul berikutnya, kursor pada kumpulan hasil menunjukkan posisi saat ini dalam tataan hasil dan baris apa yang akan dikembalikan berikutnya.
Model kursor di ODBC didasarkan pada model kursor dalam SQL yang disematkan. Salah satu perbedaan penting antara model ini adalah cara kursor dibuka. Dalam SQL yang disematkan, kursor harus dideklarasikan dan dibuka secara eksplisit sebelum dapat digunakan. Di ODBC, kursor secara implisit dibuka ketika pernyataan yang membuat kumpulan hasil dijalankan. Saat kursor dibuka, kursor diposisikan sebelum baris pertama kumpulan hasil. Di SQL dan ODBC yang disematkan, kursor harus ditutup setelah aplikasi selesai menggunakannya.
Kursor yang berbeda memiliki karakteristik yang berbeda. Jenis kursor yang paling umum, yang disebut kursor hanya maju, hanya dapat bergerak maju melalui kumpulan hasil. Untuk kembali ke baris sebelumnya, aplikasi harus menutup dan membuka kembali kursor lalu membaca baris dari awal kumpulan hasil hingga mencapai baris yang diperlukan. Kursor khusus penerusan menyediakan mekanisme cepat untuk membuat satu pass melalui tataan hasil.
Kursor khusus ke depan kurang berguna untuk aplikasi berbasis layar, di mana pengguna menggulir mundur dan maju melalui data. Aplikasi tersebut dapat menggunakan kursor hanya-maju dengan membaca hasil yang ditetapkan sekali, menyimpan data secara lokal, dan melakukan pengguliran sendiri. Namun, ini hanya berfungsi dengan baik dengan sejumlah kecil data. Solusi yang lebih baik adalah menggunakan kursor yang dapat digulir, yang menyediakan akses acak ke kumpulan hasil. Aplikasi tersebut juga dapat meningkatkan performa dengan mengambil lebih dari satu baris data sekaligus, menggunakan apa yang disebut kursor blok. Untuk informasi selengkapnya tentang kursor blokir, lihat Menggunakan Kursor Blok.
Kursor forward-only adalah jenis kursor default di ODBC dan dibahas di bagian berikut. Untuk informasi selengkapnya tentang kursor blok dan kursor yang dapat digulir, lihat Kursor Blok dan Kursor yang Dapat Digulir.
Penting
Menerapkan atau menggulung balik transaksi, baik dengan secara eksplisit memanggil SQLEndTran atau dengan beroperasi dalam mode penerapan otomatis, menyebabkan beberapa sumber data menutup semua kursor pada semua pernyataan pada koneksi. Untuk informasi selengkapnya, lihat atribut SQL_CURSOR_COMMIT_BEHAVIOR dan SQL_CURSOR_ROLLBACK_BEHAVIOR dalam deskripsi fungsi SQLGetInfo .