封装ADO之MFC应用

Microsoft ActiveX Data Objects (ADO) 支持用于建立基于客户端/服务器和 Web 的应用程序的主要功能。其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。

本次封装的CadoInterface类仅针对MFC的使用,目的是优化对ADO的操作,避免频繁写try catch(…)以及在连库、开表、写数据、读数据等过程中一些重复性的工作。该类仅对一些常用的操作进行封装,用户可以根据需要进行修改和扩展。

封装类主要包括:基本操作、增值操作、支持算法与支持结构。基本操作、增值操作、支持算法在AdoInterface.h与AdoInterface.cpp中声明定义,支持结构在DataBelong.h中定义。

这里主要介绍该类的应用,实现细节的说明在代码中均有注释。

一、封装类的关系


图一 封装类关系图,箭头代表包含关系,用户使用时只需包含界面文件AdoInterface.h

二、基本操作部分

(一)连接数据库

CString Conn="provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
  myado.ConnecDataLibrary(Conn,"","");

本例连接了一个无密码的Access库,如用其他方式连接数据库,用户可自行更改连接字符串,或者以枚举方式将多种连接方式封装到本函数中。

(二)开表

myado.OpenSheet("select * from file");

用户仅需给出开表条件即可,其他的枚举参数均有默认值,如用户需要以不同方式打开,则可以重新给定枚举参数的默认值。

(三)关库、关表

myado.CloseSheet();
  myado.CloseDataLibrary();

(四)返回指针

myado.GetConnPtr();
  myado.GetRecoPtr();

如用户的需求超出本类提供的操作时,可以通过这两个函数获取_ConnectionPtr与_RecordsetPtr指针,调用ADO的操作。

(五)属性判断

myado.BOF();
  myado.adoEOF();

(六)指针的移动

5种基本的指针移动(包括:MoveFirst、MoveLast、MoveNext、MovePrevious与Move(long Num))。

(七)执行SQL语句

CString str="Delete from file where AGE=36";
  myado.Execute(str);

(八)获得字段内容

_variant_t str;
  myado.GetCollect("NAME",str);
  CString name=str;

(九)删除一条记录

myado.Delet();

默认删除当前记录,用户可根据需要修改枚举参数。

时间: 2024-11-02 10:28:23

封装ADO之MFC应用的相关文章

将MFC Grid control封装为DLL的做法及其在DLL中的使用方法

MFCGrid control是一款非常优秀的网格控件,支持非常丰富的界面元素,如下图:   因而在数据库程序及报表程序应用较为广泛,其源码可以在下面下载到: MFC Grid control2.27源码下载        MFC Gridcontrol的作者并没有将其封装为DLL,因为在程序的多个模块复用这个控件比较麻烦(需要在多个工程中加入其源码),因此最好将其封装为一个DLL.今天有同事反映在DLL的对话框中无法使用封装好的MFC Grid control,于是上网查了下资料,晚上摸索了一

ADO编程应用(2)

ado|编程 下面是一个简单的采用了#import方法的基于ADO应用的示例代码: #include <windows.h> #import <msado15.dll> rename("EOF", "adoEOF") void main() { HRESULT hr = S_OK; //因为没有在#import中指定no_namespace,所以必须采用ADODB::这样的形式来定义变量类型 ADODB::_RecordsetPtr Rs1

MFC应用程序框架入门

摘要: 本文主要对VC++ 6.0的MFC编程方法及MFC应用程序框架进行简要介绍. 关键词: VC++6.0:MFC:程序框架 1 MFC概述 顾名思意,MFC应用程序框架是以MFC作为框架基础的,以此程序框架模式搭建起来的应用程序在程序结构组织上是完全不同于以前的Win32 SDK编程方式的.自20世纪90年代初问世以来,MFC一直试图把Windows API函数封装到类库中个各个逻辑类中.MFC的这种封装并非简单地对API函数进行分组与打包,而是更多地通过类来试图实现全部的系统策略.随着越

基于MFC的ActiveX控件开发

ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在VC下ActiveX控件的开发可以分为三种,一种是直接用COM的API来开发,这样做显然非常的麻烦,对程序员要求也非常高,因此一般是不予考虑的:一种是基于传统的MFC,采用面向对象的方式将COM的基本功能封装在若干MFC的C++类中,开发者通过继承这些类得到COM支持功能.MFC为广大VC程序员所熟悉,易于上手学习,但缺点是MFC封装的东西比较多,因此用MFC开发出来的控件相对会比较大,因此比较

ActiveX技术综述(二)

6.VisualC++5.0对ActiveX的支持 VC++5.0(企业版)为Internet开发提供了完整的解决发案,其内容是: *使用MFC或者ATL开发ActiveX控制和ActiveX文档. *使用ISAPI设计WEB服务器端的部件. *使用WinInet开发通过Internet存取文件的应用程序. *使用AsynchronousMonikers生成从Internet下载数据的应用程序. *使用ActiveXSDK开发其它类型的基于Internet的Win32应用程序,包括ActiveX

基于VC++中ATL创建ActiveX控件的探讨

引言 ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重 要组成部分.它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它 不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部 分.另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其 方法.属性.事件来与应用程序进行通信的,此外,ActiveX控件是与开发语言无关的.用户 在使用控件时不必考虑它是VC还是用

什么时候才能摆脱使用Windows API直接用.Net类库完成所有的工作呀/?

问题描述 什么时候才能摆脱使用WindowsAPI直接用.Net类库完成所有的工作呀/?微软什么时候才能完成把Api的全部包装成.Net类库呀???????有些工作不得不用WinApi才能完成工作,唉.. 解决方案 解决方案二:专业接分手,五分我也接解决方案三:已阅!转呈比尔·盖茨董事长!解决方案四:等到实现共产主义就好了...解决方案五:你希望微软用C#把全部Win32API包装一下?这样的话,这个工作量太大.你能想像一下.NetFramework安装包的体积?解决方案六:一个很重要的问题是如

映射窗口句柄对象

话题引入:在C语言时代,当人们使用纯粹的C开发windows应用程序时,只需要通过窗口句柄HWND[HWND是WND的内存句柄,而WND是Windows是一个内部私有数据结构,存储着窗口的相关信息:尺寸信息.标题信息等.一般来说开发人员无法访问这个数据结构,不过可以以HWND为参数调用windows的API函数如:GetWindowRect.GetWindowText等获得对其的访问]即可完成有关窗口的操作.MFC类是C++类机制,MFC的类通过C++的对象方法将窗口的句柄封装起来.存在着窗口句

求助关于硕士毕业论文题目~!

问题描述 想写关于ADO或者MFC相关的,有没有大神能推荐一些可以写的方向.最近为这事儿很是伤脑筋,由于做的项目太普遍了,没法往论文里写,找不到一个好的点,还求大神门指点迷津!(小弟是硕士...) 解决方案 解决方案二:你做什么项目就应该写这方面的就行,解决方案三:大数据时代背景下基于云计算技术使用物联网关于建设资源节约型环境友好型社会主义和谐社会的网络舆情分析系统的数学模型的C++实现的研究这个标题可好?解决方案四:这种事情得找导师啊亲~最好从导师的项目工作中分出来一个小点的课题,这样你写的也