Condividi tramite


Aggiornamento dei dati con SQLBulkOperations

Le applicazioni possono eseguire operazioni di aggiornamento, eliminazione, recupero o inserimento in blocco nella tabella sottostante nell'origine dati con una chiamata a SQLBulkOperations. La chiamata a SQLBulkOperations è un'alternativa pratica alla costruzione e all'esecuzione di un'istruzione SQL. Consente a un driver ODBC di supportare gli aggiornamenti posizionati anche quando l'origine dati non supporta le istruzioni SQL posizionate. Fa parte del paradigma di ottenere l'accesso completo al database tramite chiamate di funzione.

SQLBulkOperations opera sul set di righe corrente e può essere usato solo dopo una chiamata a SQLFetch o SQLFetchScroll. L'applicazione specifica le righe da modificare, eliminare o aggiornare memorizzando nella cache i segnalibri. Il driver recupera i nuovi dati per le righe da aggiornare o i nuovi dati da inserire nella tabella sottostante dai buffer del set di righe.

Le dimensioni del set di righe usato da SQLBulkOperations vengono impostate da una chiamata a SQLSetStmtAttr con un argomento Attributo di SQL_ATTR_ROW_ARRAY_SIZE. A differenza di SQLSetPos, che usa una nuova dimensione del set di righe solo dopo una chiamata a SQLFetch o SQLFetchScroll, SQLBulkOperations usa le nuove dimensioni del set di righe dopo la chiamata a SQLSetStmtAttr.

Poiché la maggior parte dell'interazione con i database relazionali viene eseguita tramite SQL, SQLBulkOperations non è ampiamente supportato. Tuttavia, un driver può facilmente emularlo creando ed eseguendo un'istruzione UPDATE, DELETE o INSERT.

Per determinare le operazioni supportate da SQLBulkOperation, un'applicazione chiama SQLGetInfo con le opzioni di informazione SQL_DYNAMIC_CURSOR_ATTRIBUTES1, SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1, SQL_KEYSET_CURSOR_ATTRIBUTES1 o SQL_STATIC_CURSOR_ATTRIBUTES1 (a seconda del tipo di cursore).

Questa sezione descrive gli argomenti seguenti: