CRecordset::Update

Completa un'operazione Modifica o AddNew salvare i dati nuovi o modificati nell'origine dati.

virtual BOOL Update( );

Valore restituito

Diverso da zero se il record è stato aggiornato correttamente; in caso contrario 0 se non la colonna modificata.Se nessun record è stato aggiornato, o se più di un record è stato aggiornato, viene generata un'eccezione.Un'eccezione viene generata per altri errori nell'origine dati.

Note

Chiamare la funzione membro dopo una chiamata alla funzione membro Modifica o AddNew.Questa chiamata viene richiesta per completare l'operazione Modifica o AddNew.

[!NOTA]

Se si è implementato il recupero di massa di righe, non è possibile chiamare Aggiorna.Questa opzione determinerà una asserzione non riuscita.Sebbene la classe CRecordset non fornire un meccanismo per l'aggiornamento di massa di righe di dati, è possibile scrivere funzioni personalizzate utilizzando la funzione API ODBC SQLSetPos.Per ulteriori informazioni sul recupero di massa di righe, vedere l'articolo recordset: Recupero di massa di record (ODBC).

Sia AddNew che Modifica preparano un buffer di modifica in cui i dati aggiunti o modificati vengono posizionati per il salvataggio nell'origine dati.Aggiorna salva i dati.Solo i campi contrassegnati o rilevati come modificato vengono aggiornati.

Se l'origine dati supporta le transazioni, è possibile fare parte della chiamata Aggiorna (e il AddNew o corrispondente chiamata Modifica ) di una transazione.Per ulteriori informazioni sulle transazioni, vedere l'articolo transazione (ODBC).

Nota di avvisoAttenzione

Se si chiama Aggiorna senza prima chiamata AddNew o Modifica, Aggiorna generato CDBException.Se si chiama AddNew o Modifica, è necessario chiamare Aggiorna prima di chiamare un'operazione Sposta o prima di chiudere il recordset o la connessione a un'origine dati.In caso contrario, le modifiche vengono perse senza notifica.

Per informazioni dettagliate sulla gestione degli errori Aggiorna, vedere l'articolo recordset: Aggiornamento dei record (ODBC).

Eccezioni

Questo metodo può generare eccezioni di tipo CDBException*.

Esempio

Vedere l'articolo transazione: Esecuzione di una transazione in un recordset (ODBC).

Requisiti

Header: afxdb.h

Vedere anche

Riferimenti

Classe di CRecordset

Grafico della gerarchia

CRecordset::Edit

CRecordset::AddNew

CRecordset::SetFieldDirty

Classe di CDBException