CRecordset::AddNew

Virtual void AddNew ( );
gettare ( CDBException );

Osservazioni

Chiamare questa funzione membro per preparare per l'aggiunta di un nuovo record alla tabella. È necessario chiamare la funzione membro Requery per vedere il record appena aggiunto. I campi del record sono inizialmente Null. (Nella terminologia di database, Null significa "non avere alcun valore" e non è la stessa come NULL in C++). Per completare l'operazione, è necessario chiamare la funzione membro Update . Aggiornamento salva le modifiche apportate all'origine dati.

&Notanbsp;  Se è stato implementato il recupero di massa di righe, è possibile chiamare il metodo AddNew. Questo si tradurrà in un'asserzione non riuscita. Sebbene la classe CRecordset non fornisce un meccanismo per l'aggiornamento di massa di righe di dati, è possibile scrivere funzioni personalizzate utilizzando la funzione API ODBC SQLSetPos. Per un esempio di come eseguire questa operazione, vedere l'esempio DBFETCH. Per ulteriori informazioni sul recupero di massa di righe, vedere l'articolo Recordset: recupero Records in Bulk (ODBC) nel manuale del programmatore di Visual C++.

AddNew prepara un record di nuovo e vuoto utilizzando membri dati di campo del recordset. Dopo aver chiamato il metodo AddNew, impostare i valori desiderati in membri dati di campo del recordset. (Non è necessario chiamare la funzione membro Edit per questo scopo; utilizzare Edit solo per i record esistenti.) Quando si chiama successivamente Update, modificati i valori nei dati di campo membri vengono salvati nell'origine dati.

Cautela   Se si scorre su un nuovo record prima di chiamare Update, il nuovo record è perso, e nessun avvertimento è dato.

Se l'origine dati supporta le transazioni, è possibile rendere vostro AddNew chiamare parte di una transazione. Per ulteriori informazioni sulle transazioni, vedere la classe CDatabase. Che è necessario chiamare CDatabase::BeginTrans prima di chiamare il metodo AddNew.

Importa&ntenbsp;  Per dynaset, nuovi record vengono aggiunti al recordset come l'ultimo record. Aggiunto il record non vengono aggiunte agli snapshot — deve chiamare Requery per aggiornare il recordset.

È illegale per chiamare AddNew per un recordset in cui aperto funzione membro non è stato chiamato. Un CDBException viene generata se si chiama il metodo AddNew per un recordset che non può essere aggiunto. È possibile determinare se il recordset è aggiornabile chiamando CanAppend.

Per ulteriori informazioni, vedere i seguenti articoli nel manuale del programmatore di Visual C++: Recordset: come i recordset aggiornamento record (ODBC), Recordset: aggiungendo, l'aggiornamento e l'eliminazione dei record (ODBC), e Transazione (ODBC).

Esempio

Vedere l'articolo transazione: esecuzione di una transazione in un Recordset (ODBC) nel manuale del programmatore di Visual C++.

Pa&noramica CRecordset |nbsp; Membri della classe | Gerarchia Chart

Vedere a&nchenbsp;CRecordset::Edit, CRecordset::Delete, possibile, CRecordset:: Requery, CDatabase::BeginTrans, CDBException

Index