网站首页  词典首页

请输入您要查询的计算机术语:

 

术语 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函数来确定此记录集是否可以更新。

请参阅:
CRecordset::Edit, CRecordset::Delete, CRecordset::Update, CRecordset::Requery, CDatabase::BeginTrans, CDBException
随便看

 

MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。

 

Copyright © 2004-2023 Winrtm.com All Rights Reserved
京ICP备2021023879号-40 更新时间:2024/10/6 12:19:02