Bagikan melalui


Pengambilan Baris dengan SQLBulkOperations

Data dapat dimuat ulang ke dalam himpunan baris menggunakan penanda dengan panggilan ke SQLBulkOperations. Baris yang akan dimuat ulang diidentifikasi oleh penanda di kolom penanda yang terikat. Kolom dengan nilai SQL_COLUMN_IGNORE tidak diambil.

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

  1. Mengambil dan menyimpan penanda buku dari semua baris yang akan diperbarui. Jika ada lebih dari satu pembatas buku dan pengikatan secara kolom yang digunakan, pembatas buku disimpan dalam array; jika ada lebih dari satu pembatas buku dan pengikatan secara baris yang digunakan, pembatas buku disimpan dalam array struktur baris.

  2. Mengatur atribut pernyataan SQL_ATTR_ROW_ARRAY_SIZE ke jumlah baris untuk diambil serta mengikat buffer yang berisi nilai bookmark, atau array bookmark, ke kolom 0.

  3. Mengatur nilai dalam buffer panjang/penanda setiap kolom sesuai kebutuhan. Ini adalah panjang byte data atau SQL_NTS untuk kolom yang terikat pada buffer string, dan panjang byte data untuk kolom yang terikat pada buffer biner. Sementara itu, SQL_NULL_DATA digunakan untuk kolom apa pun yang akan diatur ke NULL. Aplikasi mengatur nilai dalam buffer panjang atau indikator kolom yang harus disetel ke default (bila tersedia) atau NULL (jika tidak ada) ke SQL_COLUMN_IGNORE.

  4. Memanggil SQLBulkOperations dengan argumen Operation diatur ke SQL_FETCH_BY_BOOKMARK.

Tidak perlu bagi aplikasi untuk menggunakan array operasi baris guna mencegah operasi dilakukan pada kolom tertentu. Aplikasi memilih baris yang ingin diambilnya dengan hanya menyalin penanda dari baris tersebut ke dalam array bookmark terkait.