首页 理论教育 CADORecordset类设计与实现

CADORecordset类设计与实现

时间:2023-11-16 理论教育 版权反馈
【摘要】:CADORecordset类的声明见程序清单4-9。程序清单4-10ADORecordset.cpp文件然后依次把下面给出的各成员函数的实现代码加入到ADORecordset.cpp文件中。程序清单4-14记录指针移动函数AddNew()函数。程序清单4-16CADORecordset::Delete()函数Update()函数。

CADORecordset类设计与实现

1. CADORecordset类的设计

建立一个ADORecordset.h头文件,该文件中包含了CADORecordset类的声明,CADORecordset类是对ADO对象中Recordset对象的封装,并提供了在数据库应用程序中对记录集进行操作的常用接口,使得应用程序的编写更加简单方便。CADORecordset类的声明见程序清单4-9。

程序清单4-9 ADORecordset.h文件

2. CADORecordset类的实现

建立一个ADORecordset.cpp文件,首先在文件的开始部分加入包含的头文件,具体加入的代码如程序清单4-10所示。

程序清单4-10 ADORecordset.cpp文件

然后依次把下面给出的各成员函数的实现代码加入到ADORecordset.cpp文件中。

(1)构造函数与析构函数。

构造函数用来将类中的记录集对象指针m_pRs初始化NULL;析构函数首先判断记录集是否打开,如果记录集已经打开,则关闭记录集,并将记录集对象指针设置为NULL。构造函数与析构函数的实现如程序清单4-11所示。

程序清单4-11 构造函数与析构函数

(2)Open()函数。

该函数用来打开一个记录集。该函数有两个参数:第一参数sCommandString用来指定创建记录集所使用的命令串,一般情况下为SQL的SELECT语句;第二个参数adoConn为CADOConnection类的对象指针,用来指定所创建的记录集所在的数据源。Open()函数的实现如程序清单4-12所示。

程序清单4-12 CADORecordset::Open()函数

(3)Close()函数。

该函数用来关闭已打开的记录集对象。该函数首先判断记录集是否处于打开状态,如果处于打开状态,则关闭记录集,并将记录集对象指针置为NULL。该函数的实现见程序清单4-13。

程序清单4-13 CADORecordset::Close()函数(www.xing528.com)

(4)记录指针移动函数。

当要对记录进行操作时,首先要将记录指针指向要操作的记录,然后才可以进行修改、删除等操作。记录指针移动函数包括MoveFirst()、MovePrev()、MoveNext()、MoveLast()四个函数,分别完成将记录指针移到第一条记录、上一条记录、下一条记录、最后一条记录上。这四个函数的实现见程序清单4-14。

程序清单4-14 记录指针移动函数

(5)AddNew()函数。

该函数用来在记录集中添加一条空白记录。当需要添加新记录时,首先调用该函数添加一条空白记录,然后输入各个字段对应的值,最后调用Update()函数实现数据的保存。该函数的实现见程序清单4-15。

程序清单4-15 CADORecordset::AddNew()函数

(6)Delete()函数。

该函数用来删除当前记录。如果当前记录删除成功,则将记录指针移到下一条记录上。该函数的实现见程序清单4-16。

程序清单4-16 CADORecordset::Delete()函数

(7)Update()函数。

该函数用来保存记录数据。如果添加了一条新记录或修改了当前记录,为了使添加或修改操作生效,则必须调用Update()函数对记录数据进行保存。该函数的实现见程序清单4-17。

程序清单4-17 CADORecordset::Update()函数

(8)UpdateBatch()函数。

该函数用来保存记录数据。该函数与Update()函数的不同就是:Update()函数只更新当前记录;而UpdateBatch()函数是批量更新,可以一次性地更新多条记录。该函数的实现见程序清单4-18。

程序清单4-18 CADORecordset::UpdateBatch()函数

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈