dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>C/C++>C/C++技术资料>文章内容
VC++设计基于ODBC的数据库管理系统
来源: 天极开发 作者: 刘涛
教程推荐
·
·
·
·  
精彩专题
· ·
· ·
· ·
主题社区
· ·

  ODBC(Open Database Connectivity,开放数据库互连)是公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。MFC提供的ODBC类对较复杂的ODBC API进行了封装,提供了简化的调用接口,从而大大方便了数据库应用程序的开发。程序员不必了解ODBC API和SQL的具体细节,利用ODBC类即可完成对数据库的大部分操作。为了说明如何通过ODBC类操作数据库,本实例给出一个数据库的应用实例,它实现了对数据库中的课程表的浏览、编辑、修改、添加等基本操作。需要注意的是,在编译运行该程序时,请先注册代码中的数据源,并将该数据源命名为"Student Regritration"。程序编译运行后的界面效果如图一所示:


图一、操作数据库的应用程序界面

  一、实现方法

  一个完整的ODBC由下列几个部件组成:(1)应用程序(Application);(2)ODBC管理器(Administrator),该程序位于Windows 95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源;(3)驱动程序管理器(Driver Manager),驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件(4)ODBC API;(5)ODBC 驱动程序,是一些DLL,提供了ODBC和数据库之间的接口;(6)数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。各部件之间的关系如图2所示:


图二、ODBC部件关系图

  应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源(或动态注册一个数据源),管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。

  在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。

  MFC的ODBC类主要包括:(1)CDatabase类,主要功能是建立与数据源的连接。(2)CRecordset类,该类代表从数据源选择的一组记录(记录集),程序可以选择数据源中的某个表作为一个记录集,也可以通过对表的查询得到记录集,还可以合并同一数据源中多个表的列到一个记录集中,通过该类可对记录集中的记录进行滚动、修改、增加和删除等操作。(3)CRecordView类,提供了一个表单视图与某个记录集直接相连,利用对话框数据交换机制(DDX)在记录集与表单视图的控件之间传输数据。该类支持对记录的浏览和更新,在撤销时会自动关闭与之相联系的记录集。(4)CFieldExchange类:支持记录字段数据交换(DFX),即记录集字段数据成员与相应的数据库的表的字段之间的数据交换。该类的功能与CDataExchange类的对话框数据交换功能类似。(5)CDBException类,代表ODBC类产生的异常。

软件频道精品推荐

更多精彩
点击体验>>

共4页。 1 :

上一篇:VC++中利用/GS开关防止缓冲区溢出   下一篇:用Visual C++实现PDF文件的显示
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·C语言数组排序小结
·Python 与 C++ 程序的简单实例对
·c++ 数组与指针
·C++中的内存管理(new、delete、
·如何用C语言开发DSP嵌入式系统
·如何用C语言开发DSP嵌入式系统
·Linux下C语言编程
·学习arm的话先看哪本书?
·C++初学者应该关心的优秀图书一
·利用C语言小程序来解决大问题
·用C语言写PHP扩展的步骤
·用C语言扩展PHP功能
  相关文章
·VC++中利用/GS开关防止缓冲区溢
·用Visual C++实现PDF文件的显示
·在应用程序中播放声音资源文件
·在VC中添加响应自定义的消息的代
·Visual C++程序设计中的API和SDK
·从MFC与ATL的男女关系说起
·VC++实现Windows回收站的文件存
·VC中用简易方法实现淡入淡出的启
·VC++实现工具栏上添加平面组合框
·VC中自动改变控件位置和大小的对
·用Visual C++设计“精灵”窗体
·MFC中数组类的使用分析
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763