术语 | CDaoRecordset::Open | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
释义 | CDaoRecordset::Open virtual void Open(int nOpenType = AFX_DAO_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, int nOptions=0); throw(CDaoException, CMemoryException); virtual void Open(CDaoTableDef* pTableDef, int nOpenType = dbOpenTable, int nOptions=0); throw(CDaoException, CMemoryException); virtual void Open(CDaoQueryDef* pQueryDef, int nOpenType = dbOpenDynaset, int nOptions=0); throw(CDaoException, CMemoryException); 参数:
说明: 必须调用这个成员函数来获取记录集记录。调用Open之前必须构造记录集对象。 这里有几种方法实现此点:
记录集打开CDaoDatabase对象时,它以非独占访问方式打开数据源。 对使用lpszSQL参数的Open版本,一旦打开记录集,可以以几种方式之一获取记录。第一个选项是在DoFieldExchange中有DFX函数。第二个选项是通过调用GetFieldValue成员函数使用动态绑定。这些选项可以分别实现或联合实现。如果联合,必须传递Open调用上自己的SQL语句。有关动态绑定的更多信息,请参阅联机文档“Visual C++程序员指南”中的“DAO记录集:动态绑定记录”。 在使用Open的第二个版本时,要传递给CDaoTableDef对象,所得列可以让你用于通过DoFieldExchange和DFX机制绑定和/或通过GetFieldValue动态绑定。 注意:只能对表型记录集用CDaoTableDef调用Open。 在使用Open的第三个版本时,要传递给CDaoQueryDef对象,将执行查询,所得列可以让你通过DoFieldExchange和DFX机制绑定和/或通过GetFieldValue动态绑定。 注意: 只能对动态集型和快照型记录集用CDaoQueryDef调用Open。 对使用lpszSQL参数的第一个Open版本,基于下表中所列条件选择记录:
不论传递何值,Open为查询创建最终SQL字符串(字符串必须有SQLWHERE和ORDER BY子句附加在传递的lqszSQL字符中后面),然后执行这个查询。在调用Open后,通过调用GetSQL可以检查构造的字符串。 记录集类的字段数据成员受选择数据列的绑定。如果返回任何记录,第一条记录成为当前记录。 如果想为记录集设置选项,例如过滤器或者排序,要在构造记录集对象之后和调用Open之前设置m_strSORT或m_strFilter。如果打开记录集后想更新记录集中的记录,要调用Requery。 如果在动态集型或快照型记录集上调用Open,或者数据源参考表示附加表的SQL语句或表定义,则不能为这种参数使用dbOpenType;如果这样做,MFC会产生一个异常。为确定表定义对象是否表示一个附加列,要创建CDaoTableDef对象并调用它的GetConnect成员函数。 在编辑删除相同记录时,如果想跟踪其它用户或者机器上另一个程序所做的变化,使用dbSeeChanges标记。例如两个用户开始编辑同一条记录,第一个用户调用Update成员函数成功。第二个用户调用Update时产生CDaoException。类似地,如果第二个用户想调用Delete删除这条记录,而它已经由第一个用户改变了,则产生CDaoException。 典型地,如果用户在更新时得到这个CDaoException,代码应该更新字段内容并获取最近更新值。如果在删除过程中出现异常,代码能够向用户显示新记录数据和表示数据近期被改变的消息。在这一点,代码能够请求确认用户是否仍然想删除此记录。 提示: 在应用对由ODBC数据源打开的记录集遍历时,使用只能前滚选项(dbForwardOnly)来改善性能。 有关打开记录集的更多信息,请参阅联机文档“Visual C++程序员指南”中的“DAO记录集:创建记录集”。有关信息,请参阅DAO帮助中的“OpenRecordset方法”。 请参阅:CDaoRecordset::Close, CDaoRecordset::CDaoRecordset |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
随便看 |
|
MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。