基于VC的数据库编程设计与实现研究
2022-11-18
来源:乌哈旅游
软件2012年第33卷第7期 S0FTWARE 国际IT传媒品牌 基于VC的数据库编程设计与实现研究 罗莎 (北海职业学院,广西jb海536000) 摘要:本文主要针对VC基础上的数据库编程特点进行简单的分析,研究其优势所在,进而对数据库编程的模式及方法进行 介绍。VC作为一种数据库编程工具,有其存在的价值,对其编程的几种方法的分析,主要目的在于研究其在数据库编程设计方面的 问题,并对其实现通过案例分析进行阐述。 关键词:VC;数据库编程;底层应用;ODBC 中图分类号:TP392 文献标识码:A DOI:10.3969 ̄.issn.1003.6970.2012.07.057 Programme Design and Implementation Study of VC Database LU0 Sha (Bethal vocational∞舱 ,G”dh譬概矗ef^日f S ̄6ooo,China) [Abstract]In the paper,we analysed the feature and s讯}ngmB ofVC database and introduced the model and method ofdatabase pro— gramme design.We studied he tsome methods in order to research database programme desin gnd aimplementation wih tcases. [Key words]VC;database programme design;Bottom app1艳龇ibn;0DBe 0弓l言 作为Windows平台上最为优秀的C语言编程环境的 VC,有其自身特有的特征,虽然在对VC学习的时候还要对 Windows平台的诸多性能进行了解,掌握COM、ALT等相关 的知识,掌握难度比较大,但是具有良好的底层支持,是不可或 Vc数据库编程设计 2。1 A∞设计方式 娄对ADo设计方式进行了解,首先要对OLE-DB的含义 进行了解。从其名称可以看出,OLE是一种为数据库提供接口 的方式,与COM有相同的特点,可以任意的进行创建、查询及 缺的优秀编程环境。在数据库的开发建设中,VC作为一个强 大的编程工具,发挥着重要的作用,本文也着重对VC基础上的 数据库编程进行分析,以期能起到一定的借鉴意义。 撤销某一对象。OLE-DB的对象来源,被称为提供者 不同的 提侠者构成VC软件包的一个部分,当然,厂商一般在对其产品 进行升级的时候,一般会提供。OLE-DB有其自身的优势,即 一个提供者可以与所有的Visual Studio产品进行匹配 。与 1 Vc数据库编程特点 对于完全以数据库管理为中心的产品,如Access、Oracle、 COM相同,OLE-DB依赖于事件,可以对数据库表进行定时 的更新,这样就可以随时更新数据库新用户资料,能及时的对 信息进行更新与查看,以及通过发送相关信号通知数据库马上 FoxPro及dBASE IV等,这些产品在创建数据库管理器方面 都具有较大的优势,进行商业数据库应用时,使用Delphi及 VisualBasic等环境可以实现这种管理器的构建,其实采用这些 软件编写用户界面良好的、成熟的、搜索能力强的数据库系统 是比较简单的,可以说在Delphi和VisualBasic环境下,程序 设计更为简单,更利于数据库的开发,而对于多数数据库而言, VC环境其实并不适合。但是,数据库有其独有的功能特点,而 要进行的操作或者数据库错误。ADO方式并非解决解决数据 库访问的底层方案,作为ADO使用基础的OLE-DB而言,是 数据库通信的基础,而ADO可以说是OLE-DB的包装,因此, 在实际使用中,基本可以绕过ADO,直接对OLE-DB进行使 用,当然使用ADO的优势在于可以提高程序开发应用的速度。 2.2 ODBC设计分析 微软在最开始是以开放数据库互连为目标的,即ODBC, 该技术是微软早期的一种数据库接口技术,当然,也是ADO技 术的前身。微软之所以要引进这样一种技术,主要原因在于用 一容易编写数据库的软件对这些扩展功能方面的处理功能相对 缺乏…。为了使数据库具有更多的复杂功能,就需要一种编程 软件来实现,VC正好提供了这样的编程环境。因为VC的底 层支持能力比较强大,在对数据库编写的时候会提供底层访问 种非语言专用方式,为程序管理员提供一种简单的方位数据 库的方法。这样,就可以使编程人员在访问Access Basic或 及实时访问的功能。例如在对数据库驱动程序及实用程序的 编写时,VC环境下的编程就更加的有价值口J。 者DBF文件的时候,得到MDB文件中的数据,不需要去了解 Xbase程序设计语言。与Windows工作状态相同,ODBC也 软件杂志欢迎推荐投稿:http://www.ccomsoff.c0IIl/ ・162 软件 (您的文章得到院士的关注) 是采用包含在DLL下的驱动程序对任务进行操作并完成的。 罗莎:基于VC的数据库编程设计与实现研究 m-pRecordset PutCoUect(“old”,一variant—t(10ng)28)l ///填充old字段 if(pBuf) 该设计方式提供了两个驱动程序:数据管理器语言及程序设计 语言公用接口,这样可以使VC在对数据库内容进行访问的时 候经过公用接口对函数进行调用,当然,也是这两个程序的交 叉点。除此之外,还有与ODBC相关的其它类型的实用程序, 如对ODBC数据源的管理 。 {rgsabound[O】.Lbound=0; rgsabound[0】.cElements=m-nFileLen, psa=SafeArrayCreate(VT—UI 1,1,rgsabound)}///创建 SAFEARRAY对象 3 VC基础上数据库编程的实现 对VC强大功能的应用,本文主要以ADO设计方式进行 数据库的访问为例,对VC基础上的数据库编程进行说明。 for(1ong i=0 i i<(1ong)m—nFileLen;i++) SafeArrayPutElement(psa,&I,pBuf++) ///将pBuf所指向的二进制数据保存到SAFEARRAY 3.1数据库开发流程 对象psa中 (1)首先对COM库进行初始化,然后将ADO库定义文件 varBLOB.vt:VT—ARRAY I VT—UI1 l///设置 引入,(2)连接数据库,采用Connection对象的方法I(3)在连 varBLOB类型为BYTE类型数组 接建立好之后,通过Command、Connection对象,对SQL命 varBLOB.parray=pas I ///给变量赋值 令进行执行,或者采用Recordset对象的方法,取得结果记录 m-pRecordest GetFields() Getltem(“photo”) 集,并进行查询和处理;(4)结束后关闭连接,释放对象。 ppendChunk(varBLOB); ///加入BLOB类型的数据} 3.2数据库编程实现 m-pRecordest Update(); ///保存到数据库内 在数据库的实际开发过程中,往往要对数量巨大的二进制 至此,成功将数据保存到数据库内。 数据对象进行存储,例如音频、图像文件或者二进制数据等, 这些需要存储的数据总称为二进制大对象,即BLOB,与普通 4结束语 数据的存取方式截然不同,本文主要是利用ADO来实现在数 VC基础上的数据库编程采用ADO的设计方法,不但保证 据库中对BLOB数据进行存取的实现过程,BLOB数据是不 了数据库的基本功能的实现,而且也使得VC的优良性能得到 能用普通方式进行数据的存取的,这就需要AppendChunk 发挥,操作简单,是一种理想的数据库编程方法。 函数的协助,该函数属于Field对象,其原型为HRESULT AppendChunk 。下面是具体的代码分析过程: ///假设m-pBMPBuffer的指针指向某一二进制数据, 参考文献 假设该二进制数据为一长度为m-nFileLen,且已经将记录集 [1 J谢厚亮,刘伟跃.VC的数据库应用[J】.电脑知识与技术.2009 (26). 对象m-pRecordset///成功的打开。 -. 【2】陆倩,程玉凯.基于VC的学生教务信息管理系统的设计【J].软件, Char*pBuf-m-pBMPBuffer l VARLANT varBLOB l 2011(5). SAFEARRAY十psa; [3】刘文涛.OLE DB技术及其在VC数据库开发中的应用[J】.计算 SAFEARRAYBOUND rasabound【l】I 机工程与设计.2008(2). 【4】 吕青松.应用VC进行数据库编程与分析【J]_计算机光盘软件与 m-pRecordset AddNew(); 一 ///添加新记录 应用.2010(1). m-pRecordset PutCoUect(“usename”,一variant—t(“李 [5】邬强.基于VC的聊天软件设计与实现[J].信息安全与技术.2010 明”)); ///为新记录填充usename字段 (10). 上接第161页 提高综合性实验 设计性实验方面,题目的设计和更新方面还 革与实践【J】.长沙大学学报(自然科学版).2006,20(5):106一 存在不蜉科学的问题等等。这些问题还需要在今后的教学工 lO7. 作中,不断的完善和改进,以造就社会急需的实用性的模具设 [3】孙悠,陈建.面向现代CAD/CAM技术的模具专业课程教学【J]. 新疆广播电视大学学报.2009,13(2):46-47. 计与加工人才。 [4】王蕊.Pro/ENGINEER应用于模具专业课程的辅助教学[J】.科 参考文献 技信息.2008,(8):7-12. [5】龙文元,夏春,方立高,熊博文.模具CAD/CAE/CAM技术教学 [1】刘航.模具CAD/CAM技术[M】.北京.机械工业出版社,2008. 改革的研究[J].中国科教创新导刊.2007,(21):57—58. [2 谭险峰,2】熊洪淼,胡德锋,等.模具开放性和综合性实验教学的改 163・ 软件杂志欢迎推荐投稿:http:llwww.ccomsoft.com/