术语 | 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基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。