Buffer Yang Ditangguhkan
Buffer yang ditangguhkan adalah buffer yang nilainya digunakan pada beberapa waktu setelah ditentukan dalam panggilan fungsi. Misalnya, SQLBindParameter digunakan untuk mengaitkan, atau mengikat, buffer data dengan parameter dalam pernyataan SQL. Aplikasi menentukan jumlah parameter dan meneruskan alamat, panjang byte, dan jenis buffer. Driver menyimpan informasi ini tetapi tidak memeriksa isi buffer. Kemudian, ketika aplikasi menjalankan pernyataan, driver mengambil informasi dan menggunakannya untuk mengambil data parameter dan mengirimkannya ke sumber data. Oleh karena itu, input data dalam buffer ditangguhkan. Karena buffer yang ditangguhkan ditentukan dalam satu fungsi dan digunakan di fungsi lain, itu adalah kesalahan pemrograman aplikasi untuk membebaskan buffer yang ditangguhkan sementara driver masih mengharapkannya ada; untuk informasi selengkapnya, lihat Mengalokasikan dan Membebaskan Buffer, nanti di bagian ini.
Buffer input dan output dapat ditangguhkan. Tabel berikut ini meringkas penggunaan buffer yang ditangguhkan. Perhatikan bahwa buffer yang ditangguhkan yang terikat ke kolom kumpulan hasil ditentukan dengan SQLBindCol, dan buffer yang ditangguhkan yang terikat ke parameter pernyataan SQL ditentukan dengan SQLBindParameter.
Penggunaan buffer | Jenis | Ditentukan dengan | Digunakan oleh |
---|---|---|---|
Mengirim data untuk parameter input | Input yang ditangguhkan | SQLBindParameter | SQLExecute SQLExecDirect |
Mengirim data untuk memperbarui atau menyisipkan baris dalam tataan hasil | Input yang ditangguhkan | SQLBindCol | SQLSetPos |
Mengembalikan data untuk parameter output dan input/output | Output yang ditangguhkan | SQLBindParameter | SQLExecute SQLExecDirect |
Mengembalikan data tataan hasil | Output yang ditangguhkan | SQLBindCol | SQLFetch SQLFetchScroll SQLSetPos |