Condividi tramite


Inserimento di righe con SQLBulkOperations

L'inserimento di dati con SQLBulkOperations è simile all'aggiornamento dei dati con SQLBulkOperations perché usa i dati dei buffer dell'applicazione associati.

Affinché ogni colonna nella nuova riga abbia un valore, tutte le colonne associate con un valore di lunghezza/indicatore di SQL_COLUMN_IGNORE e tutte le colonne non associate devono accettare valori NULL o avere un valore predefinito.

Per inserire righe con SQLBulkOperations, l'applicazione esegue le operazioni seguenti:

  1. Imposta l'attributo dell'istruzione SQL_ATTR_ROW_ARRAY_SIZE sul numero di righe da inserire e inserisce i nuovi valori di dati nei buffer dell'applicazione associati. Per informazioni su come inviare dati lunghi con SQLBulkOperations, vedere Long Data e SQLSetPos e SQLBulkOperations.

  2. Imposta il valore per il buffer di lunghezza/indicatore di ogni colonna in base alle esigenze. Si tratta della lunghezza in byte dei dati o di SQL_NTS per le colonne legate a buffer di stringhe, della lunghezza in byte dei dati per le colonne legate a buffer binari e di SQL_NULL_DATA per le colonne da impostare a NULL. L'applicazione imposta su SQL_COLUMN_IGNORE il valore del buffer di lunghezza/indicatore delle colonne che devono essere impostate al loro valore predefinito (se esiste) o NULL (se non esiste).

  3. Chiama SQLBulkOperations con l'argomento Operation impostato su SQL_ADD.

Dopo la restituzione di SQLBulkOperations, la riga corrente rimane invariata. Se la colonna del segnalibro (colonna 0) è associata, SQLBulkOperations restituisce i segnalibri delle righe inserite nel buffer del set di righe associato a tale colonna.