Bagikan melalui


Mengambil Hasil (Tingkat Lanjut)

Aplikasi dapat menentukan bahwa offset ditambahkan ke alamat buffer data terikat dan alamat buffer panjang/indikator yang sesuai saat SQLBulkOperations, SQLFetch, SQLFetchScroll, atau SQLSetPos dipanggil. Hasil penambahan ini menentukan alamat yang digunakan dalam operasi ini.

Offset ikat memungkinkan aplikasi mengubah pengikatan tanpa memanggil SQLBindCol untuk kolom yang terikat sebelumnya. Panggilan ke SQLBindCol untuk mengikat ulang data mengubah alamat buffer dan penunjuk panjang/indikator. Pengikatan ulang dengan offset, di sisi lain, hanya menambahkan offset ke alamat buffer data terikat yang ada dan alamat buffer panjang/indikator. Ketika offset digunakan, pengikatan adalah "templat" tentang bagaimana buffer aplikasi ditata dan aplikasi dapat memindahkan "templat" ini ke area memori yang berbeda dengan mengubah offset. Offset baru dapat ditentukan kapan saja dan selalu ditambahkan ke nilai yang awalnya terikat.

Untuk menentukan offset ikatan, aplikasi mengatur atribut pernyataan SQL_ATTR_ROW_BIND_OFFSET_PTR ke alamat buffer SQLINTEGER. Sebelum aplikasi memanggil fungsi yang menggunakan pengikatan, seperti SQLBulkOperations, SQLFetch, SQLFetchScroll, atau SQLSetPos, ia menempatkan offset dalam byte dalam buffer ini, selama alamat buffer data maupun alamat buffer panjang/indikator adalah 0, dan selama kolom terikat berada dalam set hasil. Jumlah alamat dan offset harus berupa alamat yang valid. (Ini berarti bahwa baik atau offset dan alamat tempat offset ditambahkan dapat tidak valid, selama jumlahnya adalah alamat yang valid.) Atribut pernyataan SQL_ATTR_ROW_BIND_OFFSET_PTR adalah penunjuk sehingga nilai offset dapat diterapkan ke lebih dari satu set data pengikatan, yang semuanya dapat diubah dengan mengubah satu nilai offset. Aplikasi harus memastikan bahwa penunjuk tetap valid hingga kursor ditutup.

Catatan

Offset pengikatan tidak didukung oleh ODBC 2.x driver.

Bagian ini berisi topik berikut.