Bagikan melalui


Mengambil Baris dengan SQLBulkOperations

Data dapat diambil kembali ke dalam set baris menggunakan marka buku dengan panggilan ke SQLBulkOperations. Baris yang akan diambil diidentifikasi oleh marka buku di kolom marka buku terikat. Kolom dengan nilai SQL_COLUMN_IGNORE tidak diambil.

Untuk melakukan pengambilan massal dengan SQLBulkOperations, aplikasi melakukan hal berikut:

  1. Mengambil dan menyimpan marka buku dari semua baris yang akan diperbarui. Jika ada lebih dari satu marka buku dan pengikatan bijaksana kolom yang digunakan, marka buku disimpan dalam array; jika ada lebih dari satu bookmark dan pengikatan row-wise yang digunakan, bookmark disimpan dalam array struktur baris.

  2. Mengatur atribut pernyataan SQL_ATTR_ROW_ARRAY_SIZE ke jumlah baris untuk mengambil dan mengikat buffer yang berisi nilai bookmark, atau array marka buku, ke kolom 0.

  3. Mengatur nilai dalam buffer panjang/indikator setiap kolom seperlunya. Ini adalah panjang byte data atau SQL_NTS untuk kolom yang terikat ke buffer string, panjang byte data untuk kolom yang terikat ke buffer biner, dan SQL_NULL_DATA untuk kolom apa pun yang akan diatur ke NULL. Aplikasi menetapkan nilai dalam buffer panjang/indikator kolom yang akan diatur ke defaultnya (jika ada) atau NULL (jika tidak) untuk SQL_COLUMN_IGNORE.

  4. Memanggil SQLBulkOperations dengan argumen Operasi diatur ke SQL_FETCH_BY_BOOKMARK.

Tidak perlu aplikasi menggunakan array operasi baris untuk mencegah operasi dilakukan pada kolom tertentu. Aplikasi memilih baris yang ingin diambilnya dengan hanya menyalin marka buku untuk baris tersebut ke dalam array bookmark terikat.