(计算机应用技术专业论文)理疗管理控制系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)理疗管理控制系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)理疗管理控制系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)理疗管理控制系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)理疗管理控制系统的设计与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)理疗管理控制系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 摘要 本文主要介绍了一种理疗管理控制系统的设计方案和实现过程。该系统基于 数据库管理和串口通信技术。工作原理是通过a c c e s s 数据库管理医院的数据信息, 然后通过串行通信控制系统,应用4 8 5 多机通信技术,完成理疗管理控制系统与 设备控制器之间的数据通信,实现系统的网络化控制。 在患者治疗过程中,对医院数据信息处理和对设备控制器的控制是主要的工 作内容,以上两项工作直接决定着系统的工作状况,只有合理的设计数据库管理 方式和安全有效的设置设备控制器的参数,才能保证医院的正常工作和较高的工 作效率。这也是本系统的目标所在。 为了实现这个目标,本文分析了当前该医院的工作现状和医院未来发展的方 向,并研究了当前数据库应用状况,决定采用操作方便的a c c e s s 数据库,a d o 数 据库连接方式,进行数据信息管理;系统采用s n 7 5 1 7 6 b p 作为r s 一2 3 2 与r s 一4 8 5 总线之间的数据转换芯片,实现本系统与设备控制器之间的数据通信。并通过对 数据库管理模块、串行通信控制模块等关键模块的设计和相关问题的解决,实现 一个满足当前医院工作需求并具有良好的可扩展性的管理控制系统。 本文从数据库选择,a d o 应用等方面介绍了数据库管理模块的设计和实现,从 串行通信系统的设计和实现等方面论述了目标系统的各部分的设计与实现过程。 最后,对工作进行了总结。 关键词:a d o ;r s - 2 3 2 ;r 8 - 4 8 5 :多机通信;理疗设备控制器; 英文摘要 t h e d e s i g na n dr e a l i z a t i o no f t h ep h y s i c a lt h e r a p ym a n a g e m e n t a n dc o n t r o ls y s t e m a b s t r a c t t h et e x ti n t r o d u c e dt h ed e s i g na n dr e a l i z a t i o no fp h y s i c a lt h e r a p ym a n a g e m e n t c o n t r o ls y s t e m t h es y s t e mi sb a s e do nd a t a b a s em a n a g e m e n ta n ds e r i a l p o r t c o m m u n i c a t i o nt e c h n o l o g y t h et h e o r yi st h a tt h es y s t e mm a n a g ei t sd a t ai n f o r m a t i o n b ya c c e s sd a t a b a s e ,t h e nv i at h es e r i a lc o m m u n i c a t i o nc o n t r o ls y s t e m ,a p p l yr s 一4 8 5 c o m m u n i c a t i o n t e c h n o l o g y , c o m p l e t et h e c o m m u n i c a t i o n b e t w e e nt h e t h e r a p y m a n a g e m e n tc o n t r o ls y s t e ma n dd e v i c ec o n t r o l l e r , r e a l i z et h es y s t e m sn e t w o r kc o n t r 0 1 d u r i n gt h e c u r ep r o c e s s ,t h em a i nw o r ki s p r o c e s s i n gp a t i e n t s s i n f oa n d c o n t r o l l i n gt h ed e v i c ec o n t r o l l e r t h et w ow o r ka b o v ed e c i d et h es y s t e m sw o r k i n g s t a t u sd i r e c t l y , n oo t h e rt h a nd e s i g n i n gt h ew a yo fm a n a g i n gd a t a b a s er a t i o n a l l ya n d s e t t i n gt h ep a r a m e t e rf o rt h ed e v i c ec o n t r o l l e rs a f ea n de f f e c t i v e l yc a ne n s u r et h e h o s p i t a l sn o r m a lw o r ka n dh i 曲e rw o r ke f f i c i e n c y t h i si sa l s ot h es y s t e m so b j e c t i no r d e rt or e a l i z et h i sg o a l ,t h i st e x th a sa n a l y z e dt h eh o s p i t a l sp r e s e n tw o r k s i t u a t i o na n di t sf u t u r ed e v e l o pd i r e c t i o n ,a n dr e s e a r c h e dc u r r e n ts i t u a t i o ni nd a t a b a s e a p p l i c a t i o n d e t e r m i n e t ou s et h eo p e r a t ec o n v e n i e n t l ya c c e s sa st h es y s t e m s d a t a b a s e ,a n da d o l i n kn l a n n e rt oc o n n e c tt h ed a t a b a s e , t om a n a g et h es y s t e m sd a t a i n f o r m a t i o n t h i ss y s t e mu s es n 7 5 1 7 6 b pa st h eb i d i r e c t i o n a ld a t ac o n v e r s i o nc h i p b e t w e e nt h es t a n d a r dr s 2 3 2a n dr s - 4 8 5 t or e a l i z et h ed a t ac o m m u n i c a t i o nb e t w e e n t h es y s t e ma n dt h ed e v i c ec o n t r o l l e r a n db yt h es o l u t i o no fas e r i e so fk e yp r o b l e mf o r e x a m p l ed a t am a n a g e m e n tm o d u l e ,s e r i a lc o m m u n i c a t i o nc o n t r o lm o d u l e ,e t c ,r e a l i z ea s y s t e mw h i c hm e e tt h en e e do f t h eh o s p i t a la n db ee x p a n de a s i l y t h ep a p e r p r e s e n t st h ed e s i g n a t i o na n dr e a l i z a t i o no f d a t a b a s em a n a g e m e n tm o d u l e f r o md a t a b a s e ss e l e c t i o na n da d o sa p p l i c a t i o n a n di n t r o d u c e dt h ed e s i g n a t i o na n d r e a l i z e p r o c e s so fc o r r e s p o n d i n gp a r t o ft h e o b j e c ts y s t e m f r o mt h es e r i a l c o m m u n i c a t i o ns y s t e m sd e s i g n a t i o na n dr e a l i z a t i o n f i n a l l y ,i ts u m m a r i z e st h et e x t k e yw o r d s :a d o ;r s - - 2 3 2 ;r s - 4 8 5 ;m u l t i m a c h i n ec o m m u n i c a t i o n ;c o n t r o l l e r 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文“理疗管理控制系统的设计与实现”。除论文中已经注 明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确 方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或 未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:瑶杌0 7 年多月心日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密百( 请在以上方框内打“”) 论文作者签罐彬翩躲睦同缸 日期:豳憎1 年多月j 。日 理疗管理控制系统的设计与实现 第1 章绪论 1 1 课题背景及研究意义 计算机技术的发展。随着计算机技术的不断成熟,嵌入式技术也得到了迅猛的 发展。嵌入式系统应用的不断深入和产业化程度的不断提升,为发展新一代的智 能控制系统提供了有利条件,使其不再仅仅局限于工业生产,而是越来越广泛地 应用于日常生活。 高效生活品质的追求。由于现代生活节奏加快,人们在工作、学习、日常生 活中承担着不同的压力。当这种压力得不到释放的时候,便会对身体造成影响。 而生活水平的提高,使得人们对健康越来越关注理疗是一项非常适用的减压保 健方法,理疗医院也就自然成为人们进行身体调节的理想场所。医院信息系统是 医疗工作体制的信息源头。因此,理疗医院的信息化管理与人们的高效生活息息 相关。 本课题是应一家理疗医院的实际需求提出的,这次项目需求的提出,目的是 希望应用当前计算机嵌入式控制技术和数据库管理技术,实现一套可以进行信息 管理与设备网络化控制的系统,以适合本医院自身的工作方式和需求要求操作 方便、安全稳定,提高医院的工作效率。因此,无论是从提高医院的工作效率、 增强医院信息化管理的角度来讲,还是从节省患者的治疗时间的角度来讲,本系 统的开发都具有十分重要的意义。 1 2 课题的现状 从当前信息发展来看,我国大型医院管理信息系统( h i s ) 的开发和应用已经 接近国际先进水平。但各种调查显示,h i s 高低端需求分化,大型的信息管理系统 已经应用且具有良好性能,低端即中小型医院需求庞大【1 1 。大型的管理信息系统不 适用中小型医院,不能满足中小型医院自身的工作性质和管理需求 从自身需求来看,本系统的客户是一家小型的理疗保健医院该医院当前对 理疗设备的控制是通过理疗设备控制器以一对一方式实现的。患者的每次治疗, 都需要工作人员手工设置设备的工作参数,来控制设备按照要求的状态工作。这 第1 章绪论 种方式无疑会造成工作效率低,工作人员浪费的后果。为改变这种状况,医院需 要一种管理控制系统,实现医院信息管理的统一化,设备控制的网络化。提高医 院的服务效率。 1 3 论文所做的工作和论文结构 1 3 1 论文所做的工作 第一,系统需求分析。 首先进行需求分析,深入了解医院的工作条件、方式、内容,明确系统功能。 第二,总体方案设计。 基于项目的目的、用途等主要因素选择硬件产品。对系统进行总体设计,包 括系统的硬件设计和软件功能模块设计。通过多次的需求收集和分析,参考了当 前医院进行数据管理思想,以及设备控制器的设计原理,制定出系统的工作模式 一对多即系统由一台电脑( p c ) 机控制,最多可控制3 2 台不同的设备, 形成小型网络化的智能控制系统。软件功能实现方案是通过数据库模块管理系统 的各种数据,通过串行通信控制模块实现应用系统( p c 机部分) 与设备控制器之 间的数据传输。同时,各模块之间存在着必要的数据交换。系统应用程序界面将提 供实现以上功能的用户接口,界面按照分页、图片方式真实形象的显示所有设备 类型、状态以及工作参数等信息。对设备图标按钮单击,可以按照提示信息进行 应用系统对设备控制器的参数设置。 第三,硬件线路搭建。 本系统的硬件部分只用于通信线路和串行通信控制器内部电路,实现本系统 与理疗设备控制器之间的数据传输。通过r s 2 3 2 到r s 4 8 5 之间的数据转换,实 现多机通信。同时采用数据校验等检测方法智能的进行传输控制,使数据传输达 到安全、准确、稳定的效果 第四,软件功能模块的实现。 系统设计模式确定以后,要进行编码实现。首先确定系统的开发工具,系统 选用的是m i c r o s o f t 公司的v i s u a ls t u d i oc + + 6 0 作为本系统应用程序的开发工具。 串行通信控制器部分,采用c 语言实现,应用m e d w i n 仿真器进行代码调试。系 2 理疗管理控制系统的设计与实现 统分模块实现代码,主要模块包括数据库管理模块,人机交互界面设计模块,p c 机通信模块。串行通信控制模块。 最后。系统测试、总结。 将系统中各功能模块进行整合、测试,调整各控制信息的准确性、与理疗设 备控制器的同步性、系统工作的协调性。完成一个功能比较完备的理疗管理控制 系统。 系统主要工作有: 1 进行需求分析。 2 明确系统自身的功能,确定总体实现方案。 3 对数据库的建立及数据管理界面的设计与实现。 4 对控制界面的设计及实现。 5 通信系统设计与实现。 6 现场调试。 7 系统安全方案修改与完善。 1 3 2 论文结构 一 本论文共分6 章。 第一章是绪论部分,包括论文的背景、课题来源以及本文所做工作 第二章介绍了系统的整体设计,包括需求分析、整体结构设计、软件模块设 计、系统实现工具等,本章是系统开发编程的基础。 第三章介绍了系统数据库管理模块的设计与实现过程,包括数据库类型的选 择、表设计、a d 0 访问方式的应用、数据库操作安全性。 第四章是系统人机交互界面的设计与实现过程,是以上各功能模块的操作接 口,通过本章的设计,实现系统的整体功能。 第五章介绍了p c 机通信系统的设计与实现,系统通信协议的制定、标准 r s 2 3 2 应用、系统通信结构图、具体的实现方法和过程。 第六章串行通信控制器的设计与实现,介绍了单片机通信系统,该系统的硬 件设计,软件实现。 第2 章理疗管理控制系统需求分析与模块设计 第2 章理疗管理控制系统需求分析与模块设计 2 1 需求分析 本系统的客户是一家小型的理疗保健医院。主要理疗项目是熏蒸,有三种设 备仓、床、椅医院进行理疗工作的流程如下: 确定患者需要的理疗设备 为患者诊断,确定理疗的时间,适宜温度 分配理疗设备 设置理疗设备控制器的时间、温度值,进行理疗 为完成以上设备控制工作,医院当前采取一套控制器对应一套设备,该设备 控制器是基于单片机的,单机运行、手动设置参数的系统。原系统的工作模式, 存在以下几项不足: 第一,缺少信息管理功能 首先,患者的相关信息无记录,这样,对患者的基本信息不能很好的进行管 理,势必每次都要工作人员对患者进行诊断或询问,才能得到适宜的参数,过程 繁琐。 其次,设备信息无记录,如设备类型、总数、当前工作状态等数据信息不能 准确的呈现给工作人员,工作人员不能方便了解设备工作状态。 因此,对系统一些统计方面的工作,就要工作人员根据手工记录或记忆进行 统计或估算,精确性低且操作麻烦。 第二,设置参数过程复杂 参数的设置是通过理疗设备控制器实现的,设置参数要通过按键。按键从左 至右依次为:“选择”,“存储”。“启动,停止”,“+ ”,“”。 设置的参数内容有7 项,设置的是哪项数据是由s e l e c t 键按下的次数决定 的,s e u c t 键按键次数与设置的数据关系如下: 0 模式选择1 倒计时2 待机温度3 上限温度 4 下限温度5 待机温度6 正常状态7 初始态 4 理疗管理控制系统的设计与实现 工作人员要记忆所有设置数据的设置次序,才能进行正确的设置。同时,在 设置一个参数时,需要进行多次的按键操作,比较复杂。 第三一对一的控制 每个设备控制器对应一台设备,对设备的操作需要单一进行,当设备数量很 大时,需要做大量的重复性工作,工作效率低。 第四,缺少操作方便的界面 基于以上的模式分析,为改善当前医院的设备控制模式,提高工作效率,本 系统需要实现的功能有; 实现当前设备控制器对设备的控制功能:参数设置、启动关闭设备,待机设 置。 解决方案:设备控制界面。 软件实现:串口通信。 信息管理功能。 主要包括患者信息,设备信息,工作人员信息,其它辅助信息如可治疗部位 等供操作人员参考使用。实现对数据信息的添加、修改、删除、查找等功能。 解决方案z 数据库管理界面。 软件实现,数据库管理技术,a d o 方式进行数据库访问。 多机通信功能。实现一台p c 机控制多台设备 解决方案z 网络化控制,采用多机通信方式。 软件实现,主从方式进行信息传输。 数据备份与恢复功能 软件实现,文件读写操作。 方便、简捷的操作界面 解决方案:做出系统模型,由客户审核。 软件实现lv i s u a lc + + 设计界面。 本系统的菜单和工具栏设计由医院负责人员指定,控制界面设计采用b m p 图 片、分页显示设备的当前信息 第2 章理疗管理控制系统需求分析与模块设计 2 2 理疗管理控制系统整体设计 2 2 1 理疗管理控制系统框架结构图 图2 1 系统框架结构图 f i g 2 1s y s t e mf r a m ea n da r c h i t e c t u r ec h a r t 如图2 1 所示,应用程序实现了数据库管理和设备的网络化控制串行通信控 制器将系统的控制命令字以多机通信的方式发送到设备控制器,然后,设备控制 器响应系统的控制命令,进行相应的操作并回复应答信息到应用系统,应用系统 根据需要将应答信息保存到数据库或显示到界面呈现给工作人员。 2 2 2 理疗警理控制系统软件功能模块设计 管理控制系统软件系统可分为四个主要模块数据库管理模块、人机交互界 面设计模块、p c 机通信模块、串行通信控制模块。 6 理疗管理控制系统的设计与实现 数据库管理模块 该模块主要功能是对数据库进行操作。实现数据库操作的基本功能,包括数 据库中建表。数据信息管理( 添加、修改、查询、删除) ,数据库备份与恢复。 人机交互界面设计模块 该模块功能是系统的操作界面的设计与实现,是为工作人员提供管理控制的 系统接口界面与w i n d o w s x p 风格类似,具有菜单栏,工具栏,数据区等。通过 菜单或工具栏,可点击进入到数据库管理模块和设备控制模块。 p c 机通信模块 该模块是系统对设备控制的具体实现。设备控制包括对设备的设置工作( 如 启动、关闭、待机等) 和对设备的查询工作。本模块实现了系统设置命令和查询 命令的发送和对设备控制器应答信息的接收。数据发送由时钟驱动,定时向控制 器发送命令数据接收由事件驱动接收,接收后的数据存入公共数据对象中,以 一定的方式呈现给工作人员 串行通信控制模块 该模块硬件由两个2 0 5 1 微处理器及辅助芯片组成。其功能是实现p c 机应用 系统与理疗设备控制器之间的数据传递及4 8 5 多机方式的实现。 2 3 系统开发工具 系统应用程序( p c 机部分) lv i s u a ls t u d i oc + + 6 0 。 通信控制器模块:m e d w i n 仿真器语言c 语言 7 第3 章数据库管理系统的设计与实现 第3 章数据库管理系统的设计与实现 本系统对应系统框架结构图中的数据库管理模块,实现了对医院数据的管理 功能。包括数据库的基本操作如插入、修改、删除、存储。系统实现过程是确定 数据库类型,进行数据库表设计,创建数据库,连接数据库,代码具体实现。 3 1 数据库选择 本系统选用a c c e s s 作为进行数据管理的数据库。选择a c c e s s 主要是从系统开 发工具和系统的功能满足方面考虑的。其选择的理由如下: 一方面,系统选用的开发工具是v i s u a lc + + 6 0 ,支持面向对象编程,支持多 种访问a c c e s s 数据库的方式,便于操纵a c c e s s 数据库。同时m f c 提供的功能接 口最大化的简化应用程序对数据库的访i n 1 2 。 另一方面。系统的数据量小。根据客户需求,系统只需存储患者信息,设备 信息,以及其它辅助信息,而每个患者信息不超过3 0 0 个字节,每台设备是2 0 0 字节,且医院设备总数有限。m i c r o s o f ta c c e s s 数据库( m d b ) 文件大小2g 字节 【3 1 。至少可以存储4 0 万条记录,并且,由于数据库可以包括其它文件中的链接表, 它的大小实际上只受可用存储空间大小的限制。因此,a c c e s s 数据库完全可以满 足系统数据存储要求。 3 2a c c e s s 特点 存储方式单一 面向对象 界面友好、易操作 集成环境、处理多种数据信息 a c c e s s 支持o d b c ( o p e nd a t ab a s ec o n n e c t i v i t y ) 1 4 】 8 理疗管理控制系统的设计与实现 3 3 数据库创建 本系统的数据库文件存放到工程目录下,便于管理。数据库文件的建立直接 使用m i c r o s o f t 公司的o f f i c e 工具中的a c c e s s ,新建一个a c c e s s 文件,命名为 m y d b m d b ,并存放到工程目录即可。 接下来为数据库创建表。表是进行数据管理的目标对象,应用程序管理的记 录集对象正是对应着数据库中某个表的全部或部分记录【5 1 。 本系统需要记录的主要信息有患者基本信息,设备信息,医院员工信息。所 以,系统需要三个数据表。p a t i e n t 、d e v i c e 、u s e r 。下面详细介绍这三个表 的功能及表项。 p a t i e n t 表 p a t i e n t 表用来记录医院患者的信息,根据医院以前的工作经验,医院需要 记录患者的基本信息和适宜的治疗参数,因此,该表的表项有以下几项:日期、 患者i d 值、姓名、性别、年龄、治疗部位、时间、温度、备注说明。由于医院提 出要按照患者姓名的拼音的开头字母来查询患者信息,因此,除以上基本要求表 项外,增加一项姓名简拼项,以方便查找。 图3 1 是数据库中p a t i e n t 表具体设置: d e v i c e 表 图3 1 患者表设计 f i g 3 1d e s i g no f p a t i e n t st a b l e 9 第3 章数据库管理系统的设计与实现 用来记录医院中设备的详细信息,根据医院的工作内容,需要获知设备当前 工作状态,包括设备的类型、当前的状态若设备处于工作状态,则需记录当前 工作的温度、剩余工作时间。以便工作人员根据这些信息,作出具体的工作安排。 系统的通信方式是4 8 5 多机通信,因此,系统为每一个设备控制器设置一个 设备地址,也就是设备的编号。 根据以上的需要,系统d e v i c e 表项有: 设备购进日期、设备编号、设备名称、当前状态、类型、默认的待机时间、 默认待机温度、备注说明。 图3 2 是数据库中d e v i c e 表具体设置: 图3 2 设备表设计 f i g 3 2d e s i g no f d e v i c et a b l e 图3 3 用户表设计 f i g 3 3d e s i g no f u s e r st a b l e u s e r 表 u s e r 表记录工作人员信息,主要是出于安全考虑。设置工作人员的编号、密 码,来确定操作者的身份及工作权限。图3 3 是数据库中u s e r 表具体设置。 1 0 理疗管理控制系统的设计与实现 其它数据库表主要记录一些相关信息,如将部位单独设计成一个表,便于数 据管理。 3 4 数据库访问方式确定 当前常用的数据库访问方式的比较。 v i s u a lc h 提供了多种访问数据库的技术,如下所示: o d b c ( o p e n d a t a b a s ec o n n e c t i v i t y ) m f c o d b c ( m i c r o s o f tf o u n d a t i o nc l a s s e so d b c ) d a o ( d a t aa c c e s so b j e c t ) o l e d b ( o b j e c tl i n ka n de m b e d d i n gd a t a b a s e ) a d o ( a c t i v e xd a t ao b j e c t ) 这些技术各自的特点如下: 1 0 d b c o d b c 是客户应用程序访问关系数据库时提供的一个统一的接口,对于不同 的数据库,o d b c 提供一套统一的a p i ,使应用程序可以应用所提供的a p i 来访 问任何提供了o d b c 驱动程序的数据库,并且,o d b c 已经成为一种标准,目前 所有的关系数据库都提供了o d b c 驱动程序,这使o d b c 的应用非常广泛,基本 上可用于所有关系数据库,使得利用o d b c 很难访问对象数据库及其它非关系数 据库。o d b c 开发的应用程序访问数据库的速度比较慢。 2 m f c o d b c 直接使用o d b ca p i 编写应用程序代码需要编制大量代码,v i s u a la 斗提供了 m f co d b c 类,其中封装了o d b ca p i ,因此,使用m f c 来创建o d b c 的应用 程序非常简便。但应用过程是将数据库中的表结构封装成记录集类,程序中所有 对于数据库的操作都是通过记录集类对象实现的。因此,记录集类必须与相应的 表结构一致,才能保证系统数据应用的正确性。当系统升级或修改某个表的结构 时,需要将相应的记录集类重新与表绑定,程序修改复杂,可扩展性差。 3 d a o 第3 章数据库管理系统的设计与实现 d a o 提供了一种通过程序代码创建操作数据库的机制。多个d a o 构成个 体系结构,。在这个结构中,各个d a o 对象协同工作。m f cd a o 是微软公司提供 的用于访问m i c r o s o f tj e t 数据库文件( + m d b ) 的强有力的开发工具,它通过d a o 的封装,向程序员提供了d a o 丰富的操作数据库手段。 4 o l ed b o l ed b 是v i s u a lc 什开发数据库应用中提供的新技术,它基于c o m ( 组件 对象模型) 接口。因此,o l e d b 对所有的文件系统包括关系数据库和非关系数据 库都提供了统一的接口。这些特点使得o l ed b 技术比传统的数据库访问技术更 加优越。 与o d b c 技术相似,o l ed b 属于数据库访问技术中的底层接口。直接使用 o l ed b 来设计数据库应用程序需要编写大量的代码。v i s u a lc + + 6 0 中提供了 a t l 模板,用于设计o l ed b 数据应用程序和数据提供程序。 5 a d o a d o 技术是基于o l ed b 的访问接口,它继承了o l ed b 技术的优点,并且, a d o 对o l ed b 的接口作了封装,定义了a d o 对象,使程序开发得到简化。a d o 技术属于数据库访问的高层接n t 6 1 。 通过上面几种方法的比较,o d b c 、m f co d b c 、d a o 均是针对关系型数据 库的访问策略,具有一定的局限性。a d o 对象模型具有可扩展性,结合了o l ed b 易于使用的特性以及在诸如r e m o t e d a t a o b j e e t s ( r d o ) 和d a t a a c c e s s o b j e c t s ( d a o ) 的模型中容易找到的通用特性。而且,a d o 对象应用方便。因此,本系统采用a d o 连接方式,着眼于它的可扩展性和远程数据访问接口。应用a d o 访问数据库,使 系统的功能具有很大的发展空间,满足系统未来发展需求。 3 5a d o 技术 a d o ( a e t i v e xd a t ao b j e c t ) 是m i c r o s o f t 数据库应用程序开发的新接口,是 建立在o l ed b 之上的高层数据库访问技术。a d o 技术基于c o m ( c o m p o n e n t o b j e c tm o d e l ) 。具有c o m 组件的诸多优点,可以用来构造可复用应用框架,被多种 语言支持,能够访问关系数据库、非关系数据库及所有文件系统。另外,a d o 还 1 2 理疗管理控制系统的设计与实现 支持各种客户、服务器模块与基于w e b 的应用程序,具有远程数据服务r d s 的 特性,是远程数据存取的发展方向。 a d o 封装了o l ed b 所提供的接口,是基于o l ed b 模型之上的更高层应用。 图3 4 显示了a d o 访问数据库的结构 7 1 。 71 1 关系数据库 - 1 文本 0 l e j 目录数据: d b 主机数据 塑竺r 匹卜 一非结构化数据 电子邮件 地理信息 l图形信息 图3 4a d o 访问数据库的结构图 f i g 3 4s t r u c t u r ec h a r to f a d o a c c e s sd b a d o 在本系统中的应用,提高了系统的可扩展性和可移植性,同时也满足了 客户提出的发展i n t e m e t 接口的要求。 3 5 1a d o 特点 a d o 技术是访问数据库的新技术,具有易于使用、访问灵活、应用范围广的 特点。 易于使用 高速访问数据源 可访问不同的数据源 可以用于m i c r o s o f ta c t i v e x 页 第3 章数据库管理系统的设计与实现 程序占用内存少 3 5 2 a d o 结构 图3 5 a d o 结构 f i g 3 5a d o f r a m e 从a d o 的结构可以看出,a d o 包含了七种对象,四种集合。分别是连接对 象、域对象、参数对象、记录集对象、错误对象、属性对象、错误集合、参数集 合、域集合、属性集创引。 m f c 通过对a d o 对象和集合的操作,来实现对数据库的控制,下面介绍a d o 是如何应用到应用程序中来实现数据库管理功能的。 3 6 应用a d o 对象开发数据库 使用a d o 技术开发数据库应用程序有两种方法。 使用a c t i v e x 控件 这种方法可以最大限度地简化数据库应用程序的访问。但效率比较低,程序 员对程序的控制相对较弱,所以不能完全发挥a d o 访问数据库的优点。 直接使用a d o 对象 这种方法可以灵活地控制应用程序,这正是本系统所采用的方法,下面就详 细介绍应用a d o 对象访问数据库的详细过程。 1 4 理疗管理控制系统的设计与实现 a d o 的编程模型一般由一个动作序列组成,其步骤如下: 1 ) 初始化c o m 库,引入a d o 库定义文件。 2 ) 用c o n n e c t i o n 对象连接数据库。 3 ) 利用建立好的连接,通过c o n n e c t i o n 、c o m m a n d 对象执行s q l 命令,或 利用r e 虻o r d s e t 对象取得结果记录集进行查询、处理。 4 ) 使用c o n n e c t i o n 对象的b e g i n t r a n s o 、c o m m i t t r a n s o 和r o l l b a c k t r a n s 0 函 数进行事务处理。 5 ) 使用完毕后关闭连接释放对象 9 1 。 3 6 1 库文件的引入 使用a d o 前,使用预编译指令# i m p o r t 来告诉编译器将此指令中指定的动态 链接库引入工程,并从动态链接库中取出其中的对象和信息,产生m s a d 0 1 5 t l h 和 a d o l 5 t l i 两个头文件来定义a d o 斟1 0 1 ,以使编译器能正确编译。 在应用程序文件s t d a f x h 中加入如下语句: # i m p o r t ”c :p r o g r a mf i l e s c o m m o nf i l e s s y s t e m a d o l m s a d 0 1 5 d u n o _ n a m e s p a c e sr e n a m e ( ”e o f ”a d o e o f ”、 这行语句声明在工程中使用a d o ,但不使用a d o 的名字空间,并且为了避 免与定义了e o f 的其它库冲突,将常数e o f 改名为a d o e o f 。现在不需添加另外 的头文件,就可以使用a d o 接口了。 3 6 2 初始化o l e c o m 库环境 a d 0 库是一组c o m 动态库,应用程序在调用a d o 前,必须初始化o l e c o m 库环境1 1 1 】。在m f c 应用程序里,一个比较好的方法是在应用程序主类的i n i t l n s t a n e e 成员函数里初始化o l e c o m 库环境。有两种方法: ( 1 ) :c o i n i t i a | i z e ( n u l l ) ;,初始化o l e c o m 库环境 :c o u n i n i t i a l i z e 0 ;既然初始化了环境,当然要释放 ( 2 ) 也可以调用m f c 全局函数 a f x o l e l n i t 0 ; 第3 章数据库管理系统的设计与实现 在本实例中就是用了方法2 ,a f x o l e l n i t 0 可以自动实现初始化c o m 和结束时 关闭c o m 的操作。 3 6 3 创建a d o 与数据源的连接 1 a d o 中的智能指针 在用a d o 对象设计应用程序时,虽然没有可供使用的m f c 类,但有一些a d o 的支持类可以方便地使用a d o 对象。 a d o 库包含三个智能指针:连接对象指针c o n n e c t i o r t p t r 、命令对象指针 c o m m a n d p t r 和记录集对象指针r c :c o r d s e t p t r 。连接对象指针封装了c o n n e c t i o n 对象的i d i s p a t e h 接口指针及一些必要的操作,并且通过这个指针来操作c o n n e c t i o n 对象。类似地,后面用到的c o m m a n d p t r 和r e c o r d s e t p t r 类型也是这样得来的。 使用智能指针创建a d o 对象的方法简单。首先,声明一个指向a d o 对象的 类型指针,然后创建对象实例: c o n n e c t i o n p t rp c o n n ; h f p c o n n c r e a t e l n s t a n c e l _ u u i d o f ( c o n n e c t i o n ) ) ; 记录集对象指针和命令对象指针的实例创建类似。 2 打开一个连接 打开连接,通过连接对象指针的o p e n 函数实现的 c o n n e c t i o n 对象的o p e n 函数的定义如下: h r e s u l t c o n n e c t i o n l 5 :o p e n ( 一b s t r tc o n n e c t i o n s t r i n g , 一b s t r tu s e r l d , 一b s t r tp a s s w o r d , l o n go p t i o n s ) 参数说明: c o n n e c t i o n s t r i n g :可选,字符串,包含连接信息。参数有: p r o v i d e r :指定用来连接的提供者名称。 f i l en a m e :指定包含预先设置连接信息的特定提供者的文件名称( 例如: 持久数据源名称) 。 1 6 理疗管理控制系统的设计与实现 r e m o t ep r o v i d e r :指定打开客户端连接时使用的提供者名称( 仅限于 r e m o t ed a t as e r v i c e ) 。 r e m o t es e r v e r :指定打开客户端连接时使用的服务器的路径名称( 仅限于 r e m o t ed a t as e r v i c e ) 。 u s e f l d :可选,字符串,包含建立连接时所使用的用户名称。 p a s s w o r d :可选,字符串,包含建立连接时所用密码。 o p t i o n :可选,c o n n e c t o p t i o n e n u m 值,如只读、只写、读写、阻止其它c o n n e c t i o n 对象以读写打开连接等“2 1 。 下面是本系统中的连接代码: a f x o l e l n i t 0 :初始化c o m ,创建a d o 连接等操作 m _ _ p c o n n e c t i o n c r e a t e l n s t a n c e l u u i d o f ( c o n n e c t i o n ) ) ; mp c o n n e c t i o n - o p e n ( ”p r o v i d e r = m i c r o s o f t j e t o l e d b 4 0 ;d a t a s o u r c e = m y d b m d b ”,”,”,a d m o d e u n k n o w n ) ; 本系统中使用的是a c c e s s2 0 0 0 数据库,a d o 还支持访问其它数据库,下面 是访问其它数据库的方法: 1 ) 访问o d b c 数据 “p r o v i d e r = m a d a s q l ;d s n = d s n n a r n e ;u i d = u s e r n a m e ;p w d - - u s e r p a s s w o r d ;” 2 ) 访问o r a c l e 数据库 p r o v i d e r = m s d a o r a ;d a t a s o u r s e = s e r v e r n a m e ;u s e r l d = u s e r n a m e ;p a s s w o r d = u s e r p a s s w o r d ; 3 ) 访问m ss q l 数据库 “p r o v i d e r = s q l o l e d b ,d a t a s o u r c e = s e r v e r n a m e ;i n i t i a l c a t a l o g - - d a t a b a s e n a m e ;u s e ri d = u s e r n a m e ;p a s s w o r d - - u s e r p a s s w o r d ; 3 、s q l 命令进行数据库操作 通过a d o 访问数据库数据的方法很多,可用记录集对象也可直接用命令对象。 本系统中是采用r e c o r d s e t p t r 进行数据操作的。 建立连接后,就可以创建一个a d o 记录集,它包含了一个s q ls e l e c t 语 句的结果。为了取得记录集,需要先创建记录集对象: 1 7 第3 章数据库管理系统的设计与实现 一r e c o r d s e t p t rm _ p r e c o r d s e t ; m - p r e c o r d s e t c r e a t e l n s t a n c e l u u i d o f ( r e c o r d s e t ) ) ; 创建记录集后,仅仅给它分配了空间,记录集对象还不包含数据库中的任何 数据,所以需要打开记录集,从数据库中取得数据记录。可以通过多种方法打开 记录集: 直接用r e c o r d s e t 对象打开记录集 利用连

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论