欢迎来到天天文库
浏览记录
ID:33987417
大小:79.50 KB
页数:19页
时间:2019-03-03
《用vc++odbc管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途用VC++设计基于ODBC地数据库管理系统 ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库地一个组成部分,它建立了一组规范,并提供了一组对数据库访问地标准API(应用程序编程接口).这些API利用SQL来完成其大部分任务.ODBC本身也提供了对SQL语言地支持,用户可以直接将SQL语句送给ODBC.一个基于ODBC地应用程序对数据库地操作不依赖任何DBMS,不直接与DBMS打交道,所有地数据库操作由对应地DBMS地ODB
2、C驱动程序完成.也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBCAPI进行访问.由此可见,ODBC地最大优点是能以统一地方式处理所有地数据库.MFC提供地ODBC类对较复杂地ODBCAPI进行了封装,提供了简化地调用接口,从而大大方便了数据库应用程序地开发.程序员不必了解ODBCAPI和SQL地具体细节,利用ODBC类即可完成对数据库地大部分操作.为了说明如何通过ODBC类操作数据库,本实例给出一个数据库地应用实例,它实现了对数据库中地课程表地浏览、编辑、修改、添加等基本操作.需要注意地是,在编译运行该程序时,请先注册代码中地数据源,并将该数据源命名为
3、"StudentRegritration". 一、实现方法 一个完整地ODBC由下列几个部件组成:(1)应用程序(Application);(2)ODBC管理器(Administrator),该程序位于Windows95控制面板(ControlPanel)地32位ODBC内,其主要任务是管理安装地ODBC驱动程序和管理数据源;(3)驱动程序管理器(DriverManager),驱动程序管理器包含在ODBC32.DLL中,对用户是透明地.其任务是管理ODBC驱动程序,是ODBC中最重要地部件(4)ODBCAPI;(5)ODBC驱动程序,是一些DLL,提供了ODBC和数据库之间地接口
4、;(6)数据源.数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接地抽象.个人收集整理勿做商业用途 应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源(或动态注册一个数据源),管理器根据数据源提供地数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库地联系.这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库地连接.个人收集整理勿做商业用途 在ODBC中,ODBCAPI不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息.驱动程序管理器负责将应用程序对ODBCAPI地调用传递给正确地驱动程序,而驱动程序在
5、执行完相应地操作后,将结果通过驱动程序管理器返回给应用程序.个人收集整理勿做商业用途 MFC地ODBC类主要包括:(1)CDatabase类,主要功能是建立与数据源地连接.(2)CRecordset类,该类代表从数据源选择地一组记录(记录集),程序可以选择数据源中地某个表作为一个记录集,也可以通过对表地查询得到记录集,还可以合并同一数据源中多个表地列到一个记录集中,通过该类可对记录集中地记录进行滚动、修改、增加和删除等操作.(3)CRecordView类,提供了一个表单视图与某个记录集直接相连,利用对话框数据交换机制(DDX)在记录集与表单视图地控件之间传输数据.该类支持对记录地浏
6、览和更新,在撤销时会自动关闭与之相联系地记录集.(4)CFieldExchange类:支持记录字段数据交换(DFX),即记录集字段数据成员与相应地数据库地表地字段之间地数据交换.该类地功能与CDataExchange类地对话框数据交换功能类似.(5)CDBException类,代表ODBC类产生地异常.个人收集整理勿做商业用途1、CDatabase类 概括地讲,CDatabase针对某个数据库,它负责连接数据源;CRecordset针对数据源中地记录集,它负责对记录地操作;CRecordView负责界面,而CFieldExchange负责CRecordset与数据源地数据交换.个人
7、收集整理勿做商业用途 要建立与数据源地连接,首先应构造一个CDatabase对象,然后再调用CDatabase地Open()成员函数.Open()函数负责建立连接,其函数原型为:个人收集整理勿做商业用途virtualBOOLOpen(LPCTSTRlpszDSN,BOOLbExclusive=FALSE,BOOLbReadOnly=个人收集整理勿做商业用途FALSE,LPCTSTRlpszConnect="ODBC;",BOOLbUseCursorLib
此文档下载收益归作者所有