CRecordset::AddNew
將新資料錄的準備工作加入至資料表。
virtual void AddNew( );
備註
您必須呼叫 重新查詢 成員函式中查看這個新加入的資料錄。 資料錄的欄位一開始是空的。 (在資料庫詞彙中, null 不代表「具有值」並不會與您在 C++ 中 NULL )。若要完成此作業,您必須呼叫 更新 成員函式。 更新 儲存對資料來源的變更。
注意事項 |
---|
如果您已實作大量資料列擷取,就無法呼叫 AddNew。這樣會造成失敗的判斷提示。雖然類別 CRecordset 為更新大量資料列不提供一種機制,使用 ODBC API 函式 SQLSetPos,您可以撰寫自己的函式。如需大量資料列擷取的詳細資訊,請參閱本文 資料錄集:擷取大量資料錄 (ODBC)。 |
使用資料錄集的欄位資料成員,AddNew 準備新,空的資料錄。 在呼叫 AddNew之後,設定您在資料錄集的欄位資料成員想要的值。 (您不需要為這個呼叫 編輯 成員函式;針對現有資料錄只使用 編輯 )。當您之後呼叫 更新時,在欄位資料成員的變更值在資料來源中。
警告
如果您移動至新的資料錄,在您呼叫之前, 更新遺失新資料錄,,且不會提供警告。
如果資料來源支援交易,您可以將您的 AddNew 呼叫部分交易。 如需交易的詳細資訊,請參閱類別 CDatabase。 請注意您應該在呼叫之前呼叫 AddNewCDatabase::BeginTrans 。
注意事項 |
---|
如需動態集,新資料錄加入至資料錄集當成最後一筆資料錄。加入資料錄不會加入至快照,您必須呼叫 Requery 重新整理資料錄集。 |
呼叫成員函式 開啟 尚未呼叫資料錄集的 AddNew 是不合法的。 CDBException 擲回,如果您呼叫無法附加的資料錄集的 AddNew 。 您可以判斷資料錄集是否已呼叫 CanAppend是可更新的。
如需詳細資訊,請參閱下列文件: 資料錄集:如何將資料錄集更新資料錄 (ODBC)、 資料錄集:,加入、更新和刪除資料錄 (ODBC)和 交易 (ODBC)。
例外狀況
這個方法會擲回型別 **CDBException***的例外狀況。
範例
請參閱文件 交易:執行交易在資料錄集 (ODBC)。
需求
Header: afxdb.h