Metodo UpdateBatch

Scrive tutti gli aggiornamenti batch in sospeso su disco.

Sintassi

  
recordset.UpdateBatch AffectRecords, PreserveStatus  

Parametri

AffectRecords
facoltativo. Valore AffectEnum che indica quanti record saranno influenzati dal metodo UpdateBatch.

PreserveStatus
facoltativo. Valore booleano che specifica se è necessario eseguire il commit delle modifiche locali, come indicato dalla proprietà Status. Se questo valore è impostato su True, la proprietà Status di ogni record rimane invariata dopo il completamento dell'aggiornamento.

Commenti

Usare il metodo UpdateBatch quando si modifica un oggetto Recordset in modalità di aggiornamento batch per trasmettere tutte le modifiche apportate in un oggetto Recordset al database sottostante.

Se l'oggetto Recordset supporta l'aggiornamento batch, è possibile memorizzare nella cache più modifiche a uno o più record in locale fino a quando non si chiama il metodo UpdateBatch. Se si modifica il record corrente o si aggiunge un nuovo record quando si chiama il metodo UpdateBatch, ADO chiamerà automaticamente il metodo Update per salvare eventuali modifiche in sospeso nel record corrente prima di trasmettere le modifiche in batch al provider. È consigliabile usare l'aggiornamento batch solo con un keyset o un cursore statico.

Nota

Se si specifica adAffectGroup come valore per questo parametro, verrà generato un errore quando non sono presenti record visibili nel recordset corrente, ad esempio un filtro per il quale non esiste alcuna corrispondenza tra record.

Se il tentativo di trasmettere le modifiche ha esito negativo per uno o tutti i record a causa di un conflitto con i dati sottostanti (ad esempio, un record è già stato eliminato da un altro utente), il provider restituisce avvisi alla raccolta Errors e si verifica un errore di runtime. Usare la proprietà Filter (adFilterAffectedRecords) e la proprietà Status per individuare i record con conflitti.

Per annullare tutti gli aggiornamenti batch in sospeso, usare il metodo CancelBatch.

Se le proprietà dinamiche Unique Table e Update Resync sono impostate e il recordset è il risultato dell'esecuzione di un'operazione JOIN su più tabelle, l'esecuzione del metodo UpdateBatch è seguita in modo implicito dal metodo Resync, a seconda delle impostazioni della proprietà Update Resync.

L'ordine in cui i singoli aggiornamenti di un batch vengono eseguiti sull'origine dati non corrisponde necessariamente all'ordine in cui sono stati eseguiti nel recordset locale. L'ordine di aggiornamento dipende dal provider. Prendere in considerazione questo problema durante la codifica di aggiornamenti correlati tra loro, ad esempio vincoli di chiave esterna in un inserimento o un aggiornamento.

Si applica a

Oggetto Recordset (ADO)

Vedere anche

Esempio dei metodi UpdateBatch e CancelBatch (VB)
Esempio dei metodi UpdateBatch e CancelBatch (VC++)
Metodo CancelBatch (ADO)
Metodo Clear (ADO)
Proprietà LockType (ADO)
Metodo Update