MFC的CRECORDSET对数据库的操作 .

MFC数据库操作系列—数据中间层(CRECORDSET)

MFC数据库接口分为两种:ODBC和OLE DB 。ODBC而言提供开放的访问方式,使用较为简单,但是需要注册数据库,这导致在部署应用程序的时候需要重新布置数据库,并且个人意见:数据库操作不涉及大量的数据交换建议使用。

 

CRECORDSET为数据库和应用程序之间交换数据提供和很好的封装。掌握CRECORDSET必要的字段和方法功能就能够顺利的开发出应用程序。

CRECORDSET是具体应用程序的数据中间层得基类,提供基本的数据操作。

 

具体操作:

1.      创建派生于CRECORDSET的类,

2.      正确的getdefaultconnection的返回值和getdefaultcommand的返回值。

3.      创建好命令和链接后调用函数open,启动数据查询。

4.      读取获取的值,各个列的值。

5.      获取下一列只需要调用movenext方法。然后读取各个字段的值。

6.      Close方法关闭。

注意:打开数据集后的GetRecordSet的返回值并不是数据集中的记录数量,遍历所有记录,将自动改变数据记录数量。

 

修改数据库内容:

1.      调用edit方法;

2.      修改需要修改的字段

3.      调用update方法

注意:如果需要修改数据库则需要在打开模式中指定为dynaset,也可定为dynamic,但是一些系统不支持dynamic。

 

数据库修改多张表格。

         和单表操作一样,但是需要注意几个地方:

1.      数据集的构造函数中需要正确的指出字段的数量;

2.      定义public的成员变量的目的在于其余类可以访问数据信息。所以数据成员可以随便定义。

3.      在DoFieldExchange函数中设置正确的数据类型交换函数。注意此处的DDX_XXX中的第二个参数是字段的名称。可以是sql中任何的合法字段名,可以不加【】;

 

存储过程

1.      调用open方法,或者在getdefaultsql函数中返回值设置。

2.      调用形式为{call procedure(parameters…..)}的sql语句,其中procedure为存储过程名称;parameters为存储过程参数。

3.  在DoFieldExchange()中设置参数的方向和值:
 // output parameter pFX->SetFieldType(CFieldExchange::outputParam);

       RFX_Long(pFX, _T("Instructor_Count"), m_nCountParam);

 

        // input parameter

        pFX->SetFieldType(CFieldExchange::inputParam);

        RFX_Text(pFX,_T("Department_Name"), m_strNameParam);

4.      调用结束

 

一般的数据操作就这样完成。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值