使用 SQLBulkOperations 擷取數據列

資料可以透過呼叫 SQLBulkOperations 使用書籤重新取得到列集。要取的列由綁定書籤欄中的書籤來識別。 值為 SQL_COLUMN_IGNORE 的欄位則不會被擷取。

要使用 SQLBulkOperations 執行大量取用,應用程式會執行以下操作:

  1. 擷取並快取所有待更新行的書籤。 若書籤多於一個且使用逐欄裝訂,書籤會儲存在陣列中;若有多個書籤且採用逐列綁定,書籤會儲存在一組列結構的陣列中。

  2. 將 SQL_ATTR_ROW_ARRAY_SIZE 陳述句屬性設定為要擷取的列數,並將包含書籤值或書籤陣列的緩衝區綁定為第 0 欄。

  3. 根據需要設定每欄長度/指示緩衝區的值。 這是綁定到字串緩衝區的欄位的資料位元組長度或 SQL_NTS,綁定到二進位緩衝區的欄位的資料位元組長度,對於任何要設定為 NULL 的欄位則為 SQL_NULL_DATA。 應用程式會將指定為設置為其預設值(若存在)或 NULL(若不存在)之欄位的長度/指示緩衝區值設為 SQL_COLUMN_IGNORE。

  4. 呼叫 SQLBulkOperations 時, Operation 參數設為 SQL_FETCH_BY_BOOKMARK。

應用程式不需要使用列操作陣列來阻止對某些欄位執行操作。 應用程式選擇想要擷取的列,僅將那些列的書籤複製到綁定的書籤陣列中。