术语 | CDaoRecordset::AddNew | ||||
释义 | CDaoRecordset::AddNew virtual void AddNew(); throw(CDaoException, CMemoryException); 说明: 调用这个成员函数,可以把一个新记录添加到表型或动态集型记录集中。记录字段初始为Null(数据库术语中,Null表示“不含任何值”,与C++中的NULL不同)。要完成这个操作,必须调用Update成员函数。Update把改动保存到数据源。 警告: 如果编辑了一条记录,然后未调用Update就滚动到另一条记录,虽然没有警告,也会丢失改动的结果。 如果通过调用AddNew把一条记录添加到动态集型记录集中,则这条记录在记录集中是可视的,并且包含在基础表中。在这里它对所有新CDaoRecordset对象均为可见的。 新记录的位置取决于记录集的类型:
如果数据库支持事务,可以使AddNew调用成为事务的一部分。有关事务的更多信息,请参阅CDaoWorkspace。注意,应该在调用AddNew之前先调用CDaoWorkspace::BeginTrans。 对没有调用过Open成员函数的记录集,调用AddNew是不合法的。如果对不能附加的记录集调用AddNew,将产生一个CDaoException。可以通过调用CanAppend确定记录集是否可更新。 框架对字段数据成员作记号,保证能够通过DAO记录字段交换(DFX)机制把它们写进数据源上的记录。改变字段值通常会自动把这个字段设置为脏的,因此几乎不需要调用SetFieldDirty,但有时想确保列被明确更新或插入,不管字段数据成员中是些什么值。DFX机制也采用PSEUDONULL。有关的更多信息,请参阅CDaoFieldExchange::m_nOperation。 如果没有使用双缓存机制,字段值的改变将不会把这个字段设置为脏的。这种情况下,有必要明确设置这个字段脏。m_bCheckCacheForDirtyFields中包含的标记控制这个自动字段检查。 注意: 如果双缓存记录(即自动字段检查有效),则调用CancelUpdate将把成员变量恢复到调用AddNew或Edit之前的值。 有关更新记录的更多信息,请参阅联机文档“Visual C++程序员指南”中的“DAO记录集:记录集操作”。有关信息,请参阅DAO帮助中的“AddNew方法”、“CancelUpdate方法”、“LastModified方法”和“EditMode特性”。 请参阅: CDaoRecordset::CanUpdate, CDaoRecordset::CancelUpdate, CDaoRecordset::Delete, CDaoRecordset::Edit, CDaoRecordset::Update, CDaoRecordset::CanTransact |
||||
随便看 |
|
MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。