CDaoRecordset::AddNew

virtual void AddNew ();
tiro (CDaoException, CMemoryException);

Osservazioni

Chiamare questa funzione membro per aggiungere un nuovo record a un recordset di tipo tabella o di tipo dynaset. 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.

Cautela   Se si modifica un record e quindi scorrere su un altro record senza chiamando Update, le modifiche vengono perse senza preavviso.

Se si aggiunge un record a un recordset di tipo dynaset chiamando il metodo AddNew, il record è visibile nel recordset e incluso nella tabella sottostante dove diventa visibile a qualsiasi nuovo oggetto CDaoRecordset.

La posizione del nuovo record dipende dal tipo di oggetto recordset:

Il record che era corrente prima che usiate AddNew rimane attuale. Se si desidera rendere il nuovo record corrente e l'oggetto recordset supporta i segnalibri, chiamare SetBookmark al segnalibro identificato dall'impostazione della proprietà LastModified dell'oggetto recordset DAO sottostante. In questo modo è utile per determinare il valore per i campi contatore (incremento automatico) in un record di aggiunto. Per ulteriori informazioni, vedere GetLastModifiedBookmark.

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

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

I marchi quadro cambiato membri dati di campo affinché che essi verrà scritto il record dell'origine dati dal meccanismo di cambio (DFX) campo record DAO. Generalmente la modifica del valore di un campo imposta il campo sporca automaticamente, quindi è raramente necessario chiamare SetFieldDirty te stesso, ma a volte potrebbe voler garantire che colonne verranno esplicitamente aggiornati o inseriti indipendentemente dal valore di ciò che è nel membro dati di campo. Il meccanismo DFX impiega anche l'uso di PSEUDO NULL. Per ulteriori informazioni, vedere CDaoFieldExchange::m_nOperation.

Se non viene utilizzato il meccanismo del doppio buffer, quindi modificando il valore del campo non impostato automaticamente il campo come dirty. In questo caso, sarà necessario impostato esplicitamente il campo sporco. La bandiera contenute nei controlli m_bCheckCacheForDirtyFields questo controllo automatico campo.

&Notanbsp;  Se record sono il doppio buffer (cioè, il controllo automatico campo è abilitato), chiamata CancelUpdate ripristinerà le variabili membro ai valori che avevano prima che venisse chiamato AddNew o modificare.

Per ulteriori informazioni sull'aggiornamento record, vedere l'articolo Recordset DAO: operazioni di Recordset nel manuale del programmatore di Visual C++. Per informazioni correlate, vedere gli argomenti "Metodo AddNew", "Metodo CancelUpdate", "Proprietà LastModified" e "Proprietà EditMode" nella guida di DAO.

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

Vedere a&nchenbsp;CDaoRecordset::CanUpdate, CDaoRecordset::CancelUpdate, CDaoRecordset::Delete, CDaoRecordset::Edit, CDaoRecordset::Update, CDaoRecordset::CanTransact

Index