VC 7.0 中使用CDaoRecordset 类/使用Dao 方法操作数据库

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

VC 7.0 中使用CDaoRecordset 类/使用Dao 方法操作数据库

VC 7.0 中没有像VC 6.0那样方便的对CDaoRecordset的操作,只能手动写CDaoRecordset的继承类,并对一些函数进行重写,虽然增加了一些Dao记录集使用难度,但Dao本身就是不错的数据库访问模式,极为方便

首先添加类,由于VC 7.0的基类中没有提供CDaoRecordset,所以只能添加 一般c++类,把基类写成CDaoRecordset

设类名为 CData

在类属性里重写以下函数

GetDefaultDBName()

GetDefaultSQL()

DoFieldExchange(CDaoFieldExchange* pFX)

GetDefaultDBName()中返回数据库文件位置

GetDefaultSQL()中返回表名

DoFieldExchange(CDaoFieldExchange* pFX) 中如下写

pFX->SetFieldType(CDaoFieldExchange::outputColumn);

DFX_Text(pFX, _T("column1"), m_column1);

CDaoRecordset::DoFieldExchange(pFX);

其中DFX_Text(pFX, _T("column1"), m_column1) 一句,_T("column1")中的column1为数据表中列名,m_column1为对应的变量,DFX_Text这种写法仅限于CString ,其他类型可以查DFX宏[参考MSDN]

CData的构造函数需要重写,如下

CData::CDatabaseZhiWei(CDaoDatabase* pdb)

:CDaoRecordset(pdb)

{

m_column1 = _T("");

m_nFields = 1;

m_nDefaultType = dbOpenDynaset;

}

m_column为变量的初始化,m_nFields为列数,m_nDefaultType 为表的类型

如此,CData 就为CDaoRecordset的记录集实类

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航