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.
Attenzione |
---|
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