AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > VC编程

VC++设计基于ODBC的数据库管理系统

51自学网 2015-08-30 http://www.wanshiok.com

 

  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类产生的异常。

<

 

 

 
说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
上一篇:用Visual&nbsp;C++设计“精灵”窗体  下一篇:Linux环境进程间通信(三):消息 深刻理解Linux进程间通信介绍系统 V 消息队列及其相应 API