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.

In modo che 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 nel buffer di lunghezza/indicatore di ogni colonna in base alle esigenze. Si tratta della lunghezza in byte dei dati o SQL_NTS per le colonne legate a buffer stringa, la lunghezza in byte dei dati per le colonne legate a buffer binari e SQL_NULL_DATA per le colonne da impostare su NULL. L'applicazione imposta il valore nel buffer di lunghezza/indicatore delle colonne che devono essere impostate sul valore predefinito (se presente) o NULL (se non ne esiste uno) su SQL_COLUMN_IGNORE.

  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.