CRecordset::AddNew

此函式用來為向表中增加一個新記錄作準備。你必須調用Requery成員函式來查看剛增加的記錄。該記錄的欄位初始為Null(在資料庫術語中,Null意味著“沒有值”,與C++中的NULL不一樣)。要完成增加操作,你必須調用Update成員函式。

基本介紹

  • 外文名:CRecordset::AddNew
  • 性質:科技
  • 類別:計算機學
  • 屬於:編程
CRecordset::AddNew
virtual void AddNew();
throw( CDBException );
說明:
Update將應用程式的改變保存到數據源中。
注意:
如果你已經實現了成組讀取,則你不能調用AddNew。這將導致失敗的斷言。雖然類CRecordset不提供用於更新成組數據行的機制,但是你可以使用ODBC API函式SQLSetPos來編寫你自己的函式。有關如何做到這一點的例子,請參見DBEFETCH示例。
AddNew利用記錄集的欄位數據成員準備了一個新的空記錄。在應用程式調用AddNew之後,你可以在記錄集的欄位數據成員中設定所想要的值(應用程式不必為此調用Edit函式;Edir僅用於已有記錄)。當應用程式後來調用Update函式時,此欄位數據成員中已改變的數據將被保存到數據源上。
警告:
如果你在調用Update之前滾動到一個新的記錄,則該新記錄丟失,並且不會給出警告。
如果數據源支持事務,則應用程式可以使AddNew調用成為一次事務的一部分。要獲取更多有關事務的信息,請參見類CDatabase。值得注意的是,在調用AddNew之前你必須調用CDatabase::BeginTrans。
重點:
對於動態集,新記錄增加到記錄集中作為最後一個記錄。新增加的記錄不增加到快照中——應用程式必須調用Requery函式來刷新此記錄集
對一個未調用其Open函式的記錄集,調用AddNew函式是不合法的。如果應用程式對一個不可向其插入新記錄的記錄集調用AddNew函式,則將拋出一個CDBException異常。應用程式可通過調用CanAppend函式來確定此記錄集是否可以更新。

相關詞條

熱門詞條

聯絡我們