Condividi tramite


CRecordset::AddNew

 

Pubblicato: aprile 2016

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

Sintassi

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.

Avviso

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

Exception

Condition

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

CRecordset Class
Grafico delle gerarchie
CRecordset::Edit
CRecordset::Delete
CRecordset::Update
CRecordset::Requery
CDatabase::BeginTrans
CDBException Class