CDaoRecordset::AddNew

virtuelle void AddNew ();
Werfen Sie (CDaoException, CMemoryException);

Bemerkungen

Rufen Sie diese Memberfunktion eines Recordsets vom Typ Tabelle oder Recordset vom Typ Dynaset einen neuen Datensatz hinzu. Der Datensatz Felder sind anfänglich Null. (In der Datenbankterminologie Null bedeutet "kein Wert" und ist nicht das gleiche wie NULL in C++). Um den Vorgang abzuschließen, müssen Sie die Update -Memberfunktion aufrufen. Update speichert die Änderungen in der Datenquelle.

Vorsicht&Nbsp;  Wenn Sie einen Datensatz bearbeiten, und führen Sie einen zu einem anderen Datensatz ohne Aufruf von Update Bildlauf, gehen Ihre Änderungen verloren ohne Warnung.

Wenn Sie einen Datensatz zu einem Recordset vom Typ Dynaset hinzufügen, durch Aufrufen von AddNew, der Datensatz im Recordset sichtbar ist und enthalten in der zugrunde liegenden Tabelle, wo es für alle neuen CDaoRecordset Objekte sichtbar wird.

Die Position des neuen Datensatzes hängt von den Typ des Recordsets:

Der Datensatz, der aktuelle, bevor Sie AddNew verwendet wurde, bleibt aktuelle. Wenn Sie den neuen Datensatz aktuelle machen wollen und das Recordset Lesezeichen unterstützt, rufen Sie SetBookmark zum Lesezeichen durch die Einstellung der LastModified-Eigenschaft der zugrunde liegenden DAO-Recordset-Objekt identifiziert. Dies ist nützlich für die Bestimmung des Wertes für Zähler (Auto-Inkrement) Felder in einem Datensatz hinzugefügt. Weitere Informationen finden Sie unter GetLastModifiedBookmark.

Wenn die Datenbank Transaktionen unterstützt, können Sie Ihre AddNew aufrufen, Teil einer Transaktion vornehmen. Weitere Informationen über Transaktionen finden Sie unter Klasse CDaoWorkspace. Beachten Sie, dass Sie CDaoWorkspace::BeginTrans aufrufen sollten, bevor Sie AddNew aufrufen.

Es ist illegal für ein Recordset AddNew aufrufen, dessen Öffnen -Memberfunktion nicht aufgerufen wurde. Ein CDaoException wird ausgelöst, wenn der Aufruf von AddNew enthält für ein Recordset, die kann nicht angefügt werden. Sie können bestimmen, ob das Recordset aktualisierbar ist, indem Sie die CanAppend aufrufen.

Die Rahmen-Marken geändert Felddatenmember, um sicherzustellen, dass sie zu dem Datensatz in der Datenquelle von der DAO-Mechanismus Record Field Exchange (DFX) geschrieben werden. Ändern des Werts eines Felds in der Regel setzt das Feld schmutzig automatisch, so dass Sie selten SetFieldDirty selbst aufrufen müssen, aber manchmal möchten Sie sicherstellen, dass die Spalten explizit aktualisiert oder eingefügt, unabhängig davon, welcher Wert im Feld-Datenmember ist. Der DFX-Mechanismus beschäftigt auch die Verwendung von PSEUDO-NULL. Weitere Informationen finden Sie unter CDaoFieldExchange::m_nOperation.

Wenn der Doppelpufferung Mechanismus nicht verwendet wird, wird dann den Wert des Feldes ändern nicht automatisch das Feld als schmutzig festgelegt. In diesem Fall werden es ausdrücklich festlegen Feld verschmutzt. Die Flagge enthalten in M_bCheckCacheForDirtyFields Steuerelemente, diese automatische Feld-Überprüfung.

Hinweis&Nbsp;  Wenn Datensätze doppelt gepuffert sind (d. h. automatische Feld-Überprüfung ist aktiviert), CancelUpdate aufrufen wird die Member-Variablen die Werte hatten, bevor Sie AddNew oder Bearbeiten aufgerufen wurde wiederherstellen.

Weitere Informationen zum Aktualisieren von Datensätzen finden Sie im Artikel DAO-Recordset: Recordset-Operationen im Visual C++ Programmer's Guide. Weitere Informationen finden Sie unter die Themen "AddNew-Methode", "CancelUpdate-Methode", "LastModified-Eigenschaft" und "EditMode-Eigenschaft" in der DAO-Hilfe.

CDaoRecordset ÜbersichtMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CDaoRecordset::CanUpdate, CDaoRecordset::CancelUpdate, CDaoRecordset::Delete, CDaoRecordset::Edit, CDaoRecordset::Update, CDaoRecordset::CanTransact

Index