浅谈如何基于ODBC实现数据库连接

来源 :电脑迷 | 被引量 : 0次 | 上传用户:angel190000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 本文介绍了ODBC的运行机制,着重讨论了VisualC++1.5下应用MFC进行ODBC编程的方法。
  关键词 ODBC 连接 MFC
  中图分類号: TP312 文献标识码:A
  1 开放数据库连接
  ODBC(OpenDataBaseConnectivity,开放数据库连接)是微软开放服务结构中有关数据库的一个组成部分。它建立了一组规范,并提供了一组应用程序调用接口。用这样一组接口建立的应用程序,对数据库的操作不依赖于任何数据库管理系统,不直接与任何DBMS打交道,由此可实现应用程序对不同DBMS的共享。数据库操作的“数据源”对应用程序是透明的,所有的数据库操作由对应DBMS的ODBC驱动程序(ODBCDriver)完成。
  2 ODBC管理器
  在ODBC中,数据源是一个重要的概念,它是数据库位置和数据库类型等连接信息的总和。数据源在使用前必须通过ODBC管理器(Administrator)进行登录。在登录数据源时,要搞清数据源名(Datasourcename)、数据库文件名(Databasename)和数据表格名(Tablename)这三者的概念和相互关系:数据源实际是一种数据连接的抽象,数据源名是登录时赋予的“连接”的名称,以供应用程序使用,至于该数据源下连接的是哪一个数据库,则由数据库文件名指出(如Access2.0forMSOffics中的.mdb文件);一个数据库文件中可以包括若干个数据表格(table)和其他内容。在关系文件中,应用程序最终的操作目标即是这些表格中的行(row记录)和列(columns字段)数据。对于foxprow数据源,数据库文件名是“路径名”,而该路径下的所有数据文件(*.dbf)都属于该“数据库文件”名下的数据表格(table)。
  3 ODBC应用编程
  在VisualC++中,MFC(MicrosoftFoundationClass基本类库)是经过对Windows应用程序中各个部件进行类的抽象而建立的一组预定义的类,如窗口基类(CWnd)、各种窗口派生类等等,这些类在应用程序中可直接使用,不需要重新定义。在MFC中,也为ODBC预定义了几个类,其中主要的是数据库类(CDatabase)和记录集合类(CRecoredset)。这两个类既有联系又有区别,在应用程序中,可以分别使用,也可以同时使用,每一类也可以同时存在多个对象。CDatabase的每一个对象代表了一个数据源的连接,CRecordset的每一个对象代表了从一个数据表中按预定的查询条件获得的记录的集合,一般说来,前者适宜于对数据源下的某个数据表格进行整体操作,后者用于对所选的记录集合进行处理。
  在应用编程时,一般使用CDatabase和CRecordset的派生类。假设派生类分别为CUserdb和CUserset,而在应用类CUserClass中,使用了一个CUserdb对象(m-db)和一个Cuserset对象(m-recset)。
  3.1 m-db连接数据源
  m-db在完成定义构造后,要调用CDatabase的打开(Open)函数以进行数据源的实际连接:
  m-db.Open(lpszDSN,bExclusive,bReadOnly,lpszConnect);
  打开函数需要输入四个参数。lpszDSN:要连接的数据源的名字,如果lpszDSN=NULL且lpszConnect中也没有指明数据源名,则该调用会自动出现一个对话框列出所有可用的数据源(名),让用户选择。bExclusive:只支持“假”(False)值,表示为共享(share)方式连接。因此,应用程序在运行前,一定要装入share.exe或在Windows的system.ini中装入vshare.386。ReadOnly:指明数据源操作方式是“只读”还是可以修改。lpszConnect:指明连接字符串,包括数据源名、用户标识码、口令等信息。该字符串必须以“ODBC;”开头,表示该连接是与一个ODBC数据源的连接(考虑以后版本支持非ODBC数据源)。
  3.2 m-db操作数据
  数据源打开后,即可对数据库文件中的数据表格进行操作,操作以调用SQL语句方式进行,可直接通过ODBCAPI函数,或者CDatabase类成员函数ExecuteSQL。数据表名在SQL语句中指定,如下语句则在所在的数据源中的clerk表中插入一个记录,记录的name字段值为"chen"。
  m-db.ExecuteSQL("insertintoclerk(name)value(’chen’)");3.m-recset连接数据m-recset在构造时,可传入一个CDatabase对象指针,作为m-recset的数据源,当为NULL时,必须重载CRecordset的函数GetDefaultConnect,以提供数据源连接字符串(相当于m-db.Open中的lpszConnect)。如下则表示连接名为COMPANY的数据源(当传入了合法的CDatabase对象指针时,该函数将不被调用)。
  参考文献
  [1] 张韩双.Visual C++中实现数据库连接[J].科技信息(科学教研).2012(24).
  [2] 飞思科技产品研发中心.Java灵感编程[M].北京:电子工业出版社,2002.
  [3] 张洪斌.Java程序设计百事通[M].北京:清华大学出版社,2001.
其他文献
金庸的小说作品是本世纪武侠小说的杰出代表,更是华人文坛中的奇迹,金庸小说所塑造出的女性人物,从思想蕴涵到表现形式,都是同类武侠小说中女性人物形象难以逾越的高峰。本文认为
学位
摘 要 电子政务为信息的公开和共享创造了条件,将现代信息和通信技术运用到其管理和服务职能中,随着电子政务的发展,政府逐渐意识到电子政务集中建设的必要性及优越性。为了更好解决政府在电子政务及信息化办公过程中所带来的信息孤岛问题,服务器管理分散问题,维护及硬件成本过快增长等问题,云计算的出现,正是电子政务变革的大好机遇。云计算是国家“十二五”规划中的重点关注项目,它将成为当前电子政务建设必须重视的发展
在不同腐蚀介质中研究了化学及电化学去合金化Mn-Cu合金制备纳米多孔铜(NPC)条件及其形貌演化规律。结果表明,腐蚀介质对纳米多孔铜形成有显著影响,酸性强弱会直接改变孔径大
想象在民间叙事中,如同想象在其他艺术创作中一样,都发挥着十分重大的作用。没有想象,就没有艺术,也没有文学,同样也没有魅力四射的民间叙事。然而,长期以来,人们除了对民间
作为一个杰出的诗人,苏轼留下了2700多首诗歌;作为一个独具慧眼的理论家,苏轼也留下了大量的诗歌理论。苏轼的诗歌理论散见于其记、叙、题跋、书信等多种体式的文章之中,在其诗与
学位
摘 要 针对我国电子政务建设过程中存在的主要问题进行了分析,并提出了相应的对策,还借鉴了其他一些电子政务建设比较完善的国家的经验。  关键词 电子政务建设 安全 对策  中图分类号: [T-9] 文献标识码:A  1 我国电子政务不安全现象  电子政务,政务是根本,应用是方面,实效是关键,战略是前提,安全是最大的保障。它的安全不仅来自于外部,也来自与内部。包括网上黑客入侵和犯罪、网上病毒泛滥和蔓延