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.

Pengganti offset memungkinkan aplikasi mengubah pengikatan tanpa memanggil SQLBindCol untuk kolom yang sudah diikat 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 dan alamat buffer panjang/indikator yang sudah ada. 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 bind offset, aplikasi mengkonfigurasi atribut pernyataan SQL_ATTR_ROW_BIND_OFFSET_PTR menjadi alamat sebuah 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. Penjumlahan alamat dan offset harus berupa alamat yang valid. (Ini berarti bahwa baik offset maupun alamat di mana 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 sebuah nilai offset. Aplikasi harus memastikan bahwa penunjuk tetap valid hingga kursor ditutup.

Nota

Offset pengikatan tidak didukung oleh driver ODBC 2.x.

Bagian ini berisi topik berikut.