CDaoRecordset::AssertValid();
}
void CDAOSchoolSet::Dump(CDumpContext& dc) const
{
CDaoRecordset::Dump(dc);
}
endif //_DEBUG
在AFX_FIELD块中可以看到CDAOSchoolSet类的成员变量,每一个变量对应数据表Teacher的一列。
CDAOSchoolSet类的构造函数主要进行成员变量的初始化。其中m_nFields代表相应数据表的列的数目,m_nDefaultType代表打开记录集的方式,缺省为动态集方式。
DoFieldExchange()函数使用记录字段交换宏DFX在数据源和记录集的成员变量间交换数据 。每个DFX宏有三个参数:传向DoFieldExchange()函数的CFieldExchange指针pFX,数据表的列名,存放列值的成员变量。
CDAOSchoolSet类还有一些虚函数:
n GetDefaultConnect()函数返回数据源的路径。
n GetDefaultSQL()函数返回记录集使用的缺省SQL语句,通常是表的名称。
从9.3.2和9.3.3小节,我们可以看到由于DAO类很大程度上是ODBC类的超集,它包含ODBC类的大部分功能,因此将使用ODBC类的应用程序转换到使用DAO类的应用程序所需的改动是极少的。仿照9.2.12中遍历,添加,修改和删除记录的实现方法和9.2.15中统计函数和多表连接的实现方法,我们可以用这些功能来进一步完善DaoSchool应用程序。
OLE DB 是通过OLE 组件对象模型 (COM)访问数据的一组接口。OLE DB接口为应用程序访问存储在各种信息源中的数据提供统一的访问接口,这些接口为数据源提供了足够的DBMS功能,以便数据共享。
OLE DB还是一个数据库体系结构,能够忽略数据类型的差异在企业网中提供从大型主机到台式机的统一的数据集成。因为可以访问更多类型的数据,并且基于组件对象模型 (COM),OLE DB 是比ODBC更通用更有效的访问数据的方法。
OLE DB 提供:
n 通过标准接口集合访问各种类型数据的能力。
n 用户的应用程序,控件,数据提供者和各种数据源(包括DBMS数据)间的无缝集成。