请输入您要查询的百科知识:

 

词条 CRecordset::AddNew
释义

CRecordset::AddNew

virtual void AddNew();

throw( CDBException );

说明:

此函数用来为向表中增加一个新记录作准备。你必须调用Requery成员函数来查看刚增加的记录。该记录的字段初始为Null(在数据库术语中,Null意味着“没有值”,与C++中的NULL不一样)。要完成增加操作,你必须调用Update成员函数。Update将应用程序的改变保存到数据源中。

注意:

如果你已经实现了成组读取,则你不能调用AddNow。这将导致失败的断言。虽然类CRecordset不提供用于更新成组数据行的机制,但是你可以使用ODBC API函数SQLSetPos来编写你自己的函数。有关如何做到这一点的例子,请参见DBEFETCH示例。

AddNew利用记录集的字段数据成员准备了一个新的空记录。在应用程序调用AddNew之后,你可以在记录集的字段数据成员中设置所想要的值(应用程序不必为此调用Edit函数;Edir仅用于已有记录)。当应用程序后来调用Update函数时,此字段数据成员中已改变的数据将被保存到数据源上。

警告:

如果你在调用Update之前滚动到一个新的记录,则该新记录丢失,并且不会给出警告。

如果数据源支持事务,则应用程序可以使AddNew调用成为一次事务的一部分。要获取更多有关事务的信息,请参见类CDatabase。值得注意的是,在调用AddNew之前你必须调用CDatabase::BeginTrans。

重点:

对于动态集,新记录增加到记录集中作为最后一个记录。新增加的记录不增加到快照中——应用程序必须调用Requery函数来刷新此记录集。

对一个未调用其Open函数的记录集,调用AddNew函数是不合法的。如果应用程序对一个不可向其插入新记录的记录集调用AddNew函数,则将抛出一个CDBException异常。应用程序可通过调用CanAppend函数来确定此记录集是否可以更新。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/26 22:21:16