WEB开发网
开发学院软件开发VC VC中用DAO实现树型控件的数据库访问 阅读

VC中用DAO实现树型控件的数据库访问

 2009-06-08 20:07:55 来源:WEB开发网   
核心提示: 由于DAO和ODBC类的许多方面都比较相似,因此只要用户掌握了ODBC,VC中用DAO实现树型控件的数据库访问(2),就很容易学会使用DAO,实际上,而不必在ODBC管理器中注册DSN,例如,用户可以很轻松地把数据库应用程序从ODBC移植到DAO,需要注意的是

由于DAO和ODBC类的许多方面都比较相似,因此只要用户掌握了ODBC,就很容易学会使用DAO。实际上,用户可以很轻松地把数据库应用程序从ODBC移植到DAO。需要注意的是,DAO和ODBC参数化的方式不同。DAO记录集的m_strFilter和m_strSort中的参数不是"?"号,而是一个有意义的参数名。例如,在下面的过滤器中有一个名为CourseIDParam的参数。

m_pSet->m_strFilter ="CourseID = CourseIDParam";

在DoFieldExchange函数中,有下面两行:

pFX->SetFieldType(CDaoFieldExchange::param);
DFX_Text(pFX, _T("CourseIDParam"), m_strCourseIDParam);

DFX函数的第二个参数也是CourseIDParam。

除了上述差别外,AppWizard和ClassWizard也隐藏了一些细微的不同之处,例如,DAO记录集是使用是DFX数据交换机制(DAO record field exchange)而不是RFX,在DAO记录集的DoFieldExchange中使用的是DFX函数而不是RFX函数。

DAO可以通过ODBC驱动程序访问ODBC数据源。但DAO是基于Microsoft Jet引擎的,通过该引擎,DAO可以直接访问Access、FoxPro、dBASE、Paradox、Excel和Lotus WK等数据库。CDaoDatabase类可以直接与这些数据库进行连接,而不必在ODBC管理器中注册DSN。例如,下面的代码用来打开一个FoxPro数据库:

CDaoDatabase daoDb;
daoDb.Open("",FALSE,FALSE,"FoxPro 2.5;DATABASE=c:\zyf");
CDaoDatabase::Open函数用来连接某个数据库,该函数的声明为:
virtual void Open( LPCTSTR lpszName, BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = _T("") );
throw( CDaoException, CMemoryException );

上一页  1 2 3 4 5 6  下一页

Tags:VC 中用 DAO

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接