CDaoRecordset::Edit

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

Osservazioni

Chiamare questa funzione membro per consentire modifiche al record corrente.

Che si chiama la funzione membro Edit , le modifiche apportate ai campi del record corrente vengono copiate nel buffer di copia. Dopo aver apportato le modifiche desiderate al record, chiamare Update per salvare le modifiche. Modifica salva i valori dei membri dati del recordset. Se chiamare Modifica, apportare le modifiche, quindi chiamare nuovamente Modifica , i valori del record vengono ripristinati a ciò che essi sono stati prima della prima chiamata Edit.

Cautela   Se si modifica un record e quindi eseguire qualsiasi operazione che si muove su un altro record senza prima chiamata Update, le modifiche vengono perse senza preavviso. Inoltre, se si chiude il recordset o il database del genitore, il record modificato viene scartato senza preavviso.

In alcuni casi, si desidera aggiornare una colonna rendendolo Null (non contenente dati). A tale scopo, chiamare SetFieldNull con un parametro di vero per selezionare il campo Null; Questo provoca anche la colonna essere aggiornato. Se si desidera un campo deve essere scritto all'origine dati, anche se il suo valore non è cambiata, chiamare SetFieldDirty con un parametro true. Questo funziona anche se il campo aveva il valore Null.

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.

Quando l'oggetto recordset pessimistically è bloccato in un ambiente multiutente, registrare resti bloccati dal momento in cui Modifica viene utilizzato fino a quando l'aggiornamento è stato completato. Se il recordset è bloccato ottimisticamente, il record viene bloccato e confrontato con il record precedentemente modificato prima dell'aggiornamento del database. Se il record è cambiato da quando hai chiamato la Modifica, l'operazione di aggiornamento ha esito negativo e MFC genera un'eccezione. È possibile modificare la modalità di blocco con SetLockingMode.

&Notanbsp;  Blocco ottimistica viene sempre utilizzato su formati di database esterno, come ad esempio ODBC e ISAM installabile.

Il record corrente resta attuale dopo la chiamata Edit. Per chiamare Edit, ci deve essere un record corrente. Se nessun record corrente o se il recordset non fa riferimento a un tipo di tabella aperto o un oggetto recordset di tipo dynaset, si verifica un'eccezione. Modificare la chiamata determina un CDaoException venga generata nelle seguenti condizioni:

Se l'origine dati supporta le transazioni, è possibile effettuare la Modifica chiamare parte di una transazione. Si noti che si devono chiamare CDaoWorkspace::BeginTrans prima di chiamare Edit e dopo che è stato aperto il recordset. Si noti inoltre che la chiamata di CDaoWorkspace::CommitTrans non è un sostituto per la chiamata di aggiornamento per completare l'operazione di Modifica . Per ulteriori informazioni sulle transazioni, vedere la classe CDaoWorkspace.

Per ulteriori informazioni sull'aggiornamento dei dati, vedere l'articolo Recordset DAO: operazioni di Recordset nel manuale del programmatore di Visual C++. Per informazioni correlate, vedere gli argomenti "Metodo AddNew", "Metodo di modifica", "Metodo Delete", "Metodo Update" e "Proprietà aggiornabile" nella guida di DAO.

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

Vedere anchenbsp;CDaoRecordset::Add&New, CDaoRecordset::CancelUpdate, CDaoRecordset::CanTransact, CDaoRecordset::Delete, CDaoRecordset::Update

Index