Condividi tramite


CRecordset::AddNew

Prepara per l'aggiunta di un nuovo record alla tabella.

virtual void AddNew( );

Note

È necessario chiamare la funzione membro Ripetere una query per visualizzare il record appena aggiunto.I campi del record sono inizialmente null.Nella terminologia del database, NULL significa "non avere valore" e non è lo stesso NULL in C++.) Per completare l'operazione, è necessario chiamare la funzione membro Aggiorna.Aggiorna salvare le modifiche all'origine dati.

[!NOTA]

Se si è implementato il recupero di massa di righe, non è possibile chiamare AddNew.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).

AddNew scrive un nuovo record vuoto, utilizzando i membri dati di campo del recordset.Dopo avere chiamato AddNew, impostare i valori desiderati nei membri dati di campo del recordset.(Non è necessario chiamare la funzione membro Modifica a questo scopo, utilizzo Modifica solo per i record esistenti.) Quando successive chiamate Aggiorna, i valori modificati nei membri dati di campo vengono salvati nell'origine dati.

Nota di avvisoAttenzione

Se si scorre un nuovo record prima di chiamare Aggiorna, il nuovo record viene perso alcun avviso e viene fornito.

Se l'origine dati supporta le transazioni, è possibile effettuare la parte di chiamata AddNew di una transazione.Per ulteriori informazioni sulle transazioni, vedere la classe CDatabase.Si noti che è necessario chiamare CDatabase::BeginTrans prima di chiamare AddNew.

[!NOTA]

Per i dynaset, vengono aggiunti nuovi record al recordset come ultimo record.I record aggiunti non vengono aggiunti gli snapshot, è necessario chiamare Requery per aggiornare il recordset.

Non è consentito chiamare AddNew per un recordset per cui la funzione membro Apri non è stata chiamata.CDBException viene generato se si chiama AddNew per un recordset che non può essere aggiunto.È possibile determinare se il recordset è aggiornabile chiamando CanAppend.

Per ulteriori informazioni, vedere i seguenti articoli: recordset: Aggiornamento dei record (ODBC), recordset: L'aggiunta, l'aggiornamento e l'eliminazione dei record (ODBC)e transazione (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::Delete

CRecordset::Update

CRecordset::Requery

CDatabase::BeginTrans

Classe di CDBException