Share via


使用 SQLBulkOperations 插入資料列

利用 SQLBulkOperations 插入資料,類似於使用 SQLBulkOperations 更新資料,因為它會使用來自繫結應用程式緩衝區的資料。

為了讓新資料列中每一個資料行都有一個值,所有長度/指標值為 SQL_COLUMN_IGNORE 的繫結資料行和所有未繫結的資料行都必須為 Null 或有一個預設值。

利用 SQLBulkOperations 插入資料列時,應用程式會進行下列動作:

  1. 將 SQL_ATTR_ROW_ARRAY_SIZE 陳述式屬性設定為要插入的資料列數目,並將新的資料值放置於繫結的應用程式緩衝區中。 如需如何使用 SQLBulkOperations 傳送長資料的資訊,請參閱長資料、SQLSetPos 和 SQLBulkOperations

  2. 視需要設定每個資料行長度/指標緩衝區中的值。 對於繫結至字串緩衝區的資料行,這是資料位元組長度或 SQL_NTS;對於繫結至二進位緩衝區的資料行,是資料位元組長度;如果是要設為 Null 的資料行,則會是 SQL_Null_DATA。 此應用程式會針對要設為預設值 (如果有) 或 NULL (如果沒有預設值) 的資料行,將其長度/指標緩衝區中的值設為 SQL_COLUMN_IGNORE。

  3. 呼叫 SQLBulkOperations,其中 Operation 引數設為 SQL_ADD。

SQLBulkOperations 傳回後,目前的資料列不會變更。 如果書籤資料行 (資料行 0) 有繫結,SQLBulkOperations 會傳回繫結至該資料行的資料列集緩衝區中插入的資料列書籤。