毕业设计(论文)C++ SQL对摩托底盘测功机上位机进行编程.doc

上传人:laozhun 文档编号:2960287 上传时间:2023-03-05 格式:DOC 页数:52 大小:2.27MB
返回 下载 相关 举报
毕业设计(论文)C++ SQL对摩托底盘测功机上位机进行编程.doc_第1页
第1页 / 共52页
毕业设计(论文)C++ SQL对摩托底盘测功机上位机进行编程.doc_第2页
第2页 / 共52页
毕业设计(论文)C++ SQL对摩托底盘测功机上位机进行编程.doc_第3页
第3页 / 共52页
毕业设计(论文)C++ SQL对摩托底盘测功机上位机进行编程.doc_第4页
第4页 / 共52页
毕业设计(论文)C++ SQL对摩托底盘测功机上位机进行编程.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《毕业设计(论文)C++ SQL对摩托底盘测功机上位机进行编程.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)C++ SQL对摩托底盘测功机上位机进行编程.doc(52页珍藏版)》请在三一办公上搜索。

1、摘 要 本次毕业设计的主要内容是对摩托底盘测功机上位机进行编程,以实现测试数据的采集,处理,存储,以及对测试过程的监视和控制。围绕着该目的,本文首先概述了整个系统的基本组成,然后说明讨论了编程语言及开发工具的选择,界面的设计,数据的收集,处理,存储及上下位之间的通讯等问题。经过实际现场测试调整,该程序实现了设计要求,圆满的完成了毕业设计的预期任务,锻炼了我参与科研设计开发的能力,积累了宝贵经验,为今后的工作打下了基础。关键词:C+,SQL,串口通讯ABSTRACTThe main task of this graduation design is the programming on the

2、host computer of autocycle chassis dynamometer in order to collect, dispose and save test data and to over-look and control the test.Around this task, this paper first summarizes the basic structure of the whole system and then explains the selection of the developing tool, the design of the interfa

3、ce, the collection, disposal and storage of the data, and the communication between host computer and affiliated computer . After the test and adjustment, the program has achieved its requirement and fulfilled the task of graduation design successfully. Through this exercise, I accumulated much prec

4、ious experience and all this will do well to my subsequent research .目 录摘要 .1第1章 绪论 .51 1摩托车底盘测功机 51 2本次毕业设计的任务和意义 6第2章:系统组成概述.921 上位软件的组成 922 测试项目说明 1023 编程语言及开发工具 17第3章 软件界面 .20 31 软件界面的组成 2032 基本数据输入及测试管理 2033 测试控制 2234 司机助手 25 35 道路阻力设定器 27 36 工况模型 28第4章 数据库 .30 41 工作简介 30 42 数据库简介 3043 嵌入式SQL .

5、3244 在应用程序中使用数据库 .33第5章 上下位通讯 4251 上下位通讯的要求 4252 串口通讯简介 .4253 Windows下的 上位机串口通讯 .5354 通讯协议 .50第6章 总结 54致谢 55参考文献 . 55第1章 绪论1 1摩托车底盘测功机传统的摩托车测试是基于实际道路的,即摩托车在专用试车场的测试道路上行驶测试。这种方法需要建立较大规模,要求严格的测试场地,因而成本很高。此外,该方法也常常受限于恶劣天气及夜晚等。同时,限于安全性的影响,某些测试项目,如最高车速等,也不易进行。针对以上问题,随着机电拖动设备的发展,近几十年中发展出了以拖动设备模拟实际道路行驶,以台架

6、测试代替路面测试的摩托车底盘测功机。这使得测试可以在台架上厂房内随时进行而不受天气等外界因素影响,也极大的节约了资金,受到了摩托车厂商的欢迎,也就进一步促进该种设备的进一步发展。图 1. 1 摩托车底盘测功机示意图底盘测功机的机械部分主要由测功机,转鼓,惯性飞轮构成。测功机可以是电涡流测功机,直流电力测功机,交流电力测功机。电力测功机具有优良的转速转矩特性和高昂的价格。从摩托车行业来看,八十年代引进的国外的电力测功机都是直流机。九十年代后期交流测功机开始进入中国,从我们了解的情况来看,测功机领域交流机越来越多,直流机越来越少。因此,本项目打算越过直流机直接开始交流机的开发。12 摩托车底盘测功

7、机系统组成下图为摩托车底盘测功机的系统组成图。图1. 2 摩托车底盘测功机系统组成该系统主要可分为以下几部分: 上位机部分,硬件包括工控机,两台用分屏卡连接的CRT,PCL-818L,PCL-746+,ADAM4080,ADAM4018等。软件包括上位机软件及司机助手。实现该部分是本次毕业设计的主要任务。 控制台 PLC 变频器 信号调理13本次毕业设计的任务和意义交流底盘测功机是进行车辆性能试验的专用设备,基本上依赖进口,国内开发成套设备的单位还很少。本项目是“交流底盘测功机的研制”这一横向课题的一部分工作,具有实际意义,向该产品国产化目标迈进了一大步。司机助手是一个帮助和引导驾驶员在受试摩

8、托车上驾驶车辆进行各种测试项目的软件。主控程序包括现场采集数据的显示,打印和报表以及道路阻力设定器给出的有关摩托车参数的记录,存储等功能。具体任务包括:1) 熟悉和了解交流底盘测功机的结构,原理和电控系统的设计方案;2) 熟悉摩托车测试项目的大致过程;3) 设计司机助手软件的框架,并完成代码编写,调试;4) 用组态工具组态和绘制部分主控程序,要求界面良好;5) 在上述基础上完成毕业设计论文;6) 翻译相关的英文资料。第2章 上位软件组成概述21上软件的组成上位软件主要包括了人机交互界面,数据管理和上下位通讯三大部分。如图:图2. 1 上位软件组成示意图a) 交互界面:在正常工作情况下,测试员通

9、过上位机对整个测试进行监控,管理。因此,上位软件需要一个友好的,易于掌握的交互界面以方便测试人员。 此外,为便于驾驶员了解测试情况,接收测试员下达的测试命令,上位机还需要同时为驾驶员提供另一界面,即司机助手。鉴于驾驶员仅仅接收信息和指令,该界面为只读,即驾驶员不能控制上位机和测试。b) 数据管理:测试将产生大量原始数据,上位机需要接收,处理和存储这些信息,因此上位软件需要完善的数据管理机制以完成以上要求。本次上位软件以数据库为核心进行数据管理。c) 上下位机通讯:摩托车测功机系统中,上位机提供了人机界面,用以监控测试,收集整理数据等,而下位机通过PLC,传感器等控制测功机的电气硬件部分并采集时

10、间速度等数据,因而上下位机之间需要相互通讯以完成命令,数据的交流。2 2测项目说明 摩托车底盘测功机需要实现十个测试项目,分别是: 1)起步加速按照国家标准GB/T5385-94要求的定距测量时:底盘测功机处于模拟道路工作状态,在控制台上设定加速测试距离S(轻便摩托车为100m,摩托车为200m),受试摩托车怠速状态从最低档起步0.5m后,控制台开始测量以最佳换档车速顺序换档,加速行驶,直至最高档,经过加速测试距离S的时间为t。为了能绘制S-t,a-t关系图,应在实验区间内设置数个测试数据采集点。按下式计算始点到各测点的平均加速度:2. 1 -始点到各测点的距离; -从始点到各测点所经过的时间

11、。2)超越加速a按照国家标准GB/T5385-94要求的定距测量时:底盘测功机处于模拟道路工作状态,在控制台上设定加速测试距离S(轻便摩托车为100m,摩托车为200m),受试摩托车用最高档行驶至规定初速度时(摩托车为301km/h,轻便摩托车为202km/h)突加油门,同时开始测量经过测试距离S的时间t并记录初速度。为了能绘制S-t,a-t关系图,应在实验区间内设置数个测试数据采集点。按下式计算始点到各测点的平均加速度:a=2. 2v-初速度S-始点到各测点的距离t-从始点到各测点所经过的时间。b. 速测量时:底盘测功机处于模拟道路工作状态,在控制台上任意设定初速度和末速度(10-150km

12、/h),测量受试摩托车用最高档从设定的初速度加速行驶至末速度所需的时间。3)滑行(国标GB/T5386-94)a 滑行速度的测定:底盘测功机处于模拟道路工作状态,受试摩托车达到规定的车速时(摩托车为401km/h,轻便摩托车为301km/h),离合器完全脱开,挂空档,测试从此开始到滚轮完全停止转动间的距离S。b 滑行阻力系数的测定:滑行开始的初速度保证受试车通过100m测试区间的时间为202s,测量从初速度到滚轮经过50m,100m的时间t1,t2.滑行减速度b和滑行阻力系数f计算公式如下:b=2. 32. 45) 最高车速(国标GB/T5384-1996)底盘测功机处于模拟道路工作状态,设定

13、的测试区间距离为200m,受试车达到最高车速稳定后,开始测量其通过200m的时间。计算公式如下: V=s/t 2. 56) 速表里程表校核( 国标GB/T5376-1996,GB/T7258-1997)a.速度表校核:底盘测功机处于ASR工作状态,将受试摩托车前轮安置在滚轮上,由底盘测功机拖动摩托车,使其车速表的指示值稳定为V,读取此时等于滚轮线速度的实际车速Vs。用此方法还应可测其它数点的车速校核值。修正率公式为:Cv=Vs/V 2. 6b.里程表校核: 底盘测功机处于ASR工作状态,将受试摩托车前轮安置在滚轮上,由底盘测功机拖动摩托车,测定受试摩托车里程表起止增加值S和滚轮转过的实际距离S

14、s,修正率C的计算公式如下: C=Ss/S 2. 77) 燃油消耗(国标GB/T16486-1996) 底盘测功机处于模拟道路工作状态,设定测试区间距离S(摩托车为1000m,轻便摩托车为600m),受试摩托车按试验要求的车速运行,保持稳定后开始测量摩托车在此车速下匀速通过设定的测试距离所消耗的燃油。记录的数据有:通过测试区间的时间t和燃油消耗量G0。需计算出如下量: 实际车速V: V=S/t 汽油消耗量: 非混合燃油时,G=G0/S 混合燃油时, G=MG0/(S*(M+1) 其中,M为汽油与润滑油的容积混合比,最后根据试验数据绘制曲线。8) 爬坡能力(国标GB/T5387-94)a) 最大

15、爬坡能力: 底盘测功机处于模拟道路工作状态,在底盘测功机上设定受试摩托车模拟爬坡试验时的坡度阻力F,由下式确定: F=mg*sin 2. 8 其中,m为摩托车的总质量(包括驾驶员和加载质量), 为模拟坡道的坡度角。 所模拟的测试区间如下图所示:图2. 1摩托车用最低档并加载规定质量,以合适的初速度行驶,开始试验。试验台将设定的相当于F的阻力作用于滚轮上,分别测定经过测试区间前10m和后10m的时间t1和t2。 若t1t2,则最大爬坡角度小于。 在改变质量或档位的情况下,按下式计算等效爬坡角度:=arcsin(Ws/W)(isin/is) 2. 9 其中,为爬坡角度,Ws为受试车实际总质量,W为

16、受试车规定总质量,i为受试车最低档变速比,is为试验时使用档变速比,为试验坡道角度b) 爬长坡试验 与最大爬坡角度测试不同的是模拟测试区间的距离S不同,此试验一般设定为1500m。需要测定初速度V0和经过S的时间。计算出爬长坡工程中的平均速度: V=S/t 2. 10 由发动机试验状况及V与V0两值的大小比较,决定是否继续试验。9) 后轮出力 底盘测功机处于ASR工作状态,将摩托车后轮(驱动轮)置于转鼓上,夹持车辆。由底盘测功机调节速度到一定值,加摩托车油门至全开,稳定后可记录下后轮输出的功率,扭距,发动机转速,车速等。改变速度后,再做同样的测量,这样可作出一组数据。根据这样一组试验数据,绘制

17、功率-车速,扭距-车速图等。10) 工况排放(国标GB/T14622-93) 进行工况排放测试,还需另行配置排气分析仪。11) 自由模式 用户自定实验方式,为用户提供测试开始及停止控制方式。11)司机助手CRT在不同测量项目中的提示a. 起步加速:车速、发动机转速、测量开始后的时间和行驶距离。b. 超越加速:车速、发动机转速、测量开始后的时间和行驶距离。c. 最高车速:车速、测量开始后的时间和行驶距离。d. 车速和里程表校核:车速、测量开始后的行驶距离。e. 滑行:车速、测量开始后的行驶距离。f. 油耗:等速油耗:车速、测量开始后的行驶距离。 工况油耗:行驶工况、超差警示、超差次数积累及时间。

18、g. 爬坡:车速、发动机转速、前十米和后十米的行驶时间。h. 后轮出力:车速、驱动力和输出功率。i. 工况排放:行驶工况、超差警示、超差次数积累及时间。j. 自由模式:坡道角度、车速、发动机转速。所有的测量项目中,火花塞座温、机油温度、冷却液温度、排气温度应可选,测量开始和结束状态都应有提示,行驶距离采用图形方式提示。此外,爬长坡实验时间是受试摩托车在模拟平坦路面下行驶,达到设定的初速度后开始,测定初速度,开始计时、计距。23编程语言及开发工具 由上位软件的要求可以看出,该软件规模较大,数据量多,结构较复杂,且有相当代码可重用。针对以上特点,选择了C作为上位软件的编程语言。C简介:C是一种面向

19、对象程序设计(Object Oriented Programming简称OOP)语言。面向对象程序设计既吸取了结构化程序设计的一切优点,又考虑了现实世界与面相对象解空间的映射关系,它所追求的目标是将现实世界的问题求解尽可能简单化。面向对象程序设计将数据及对数据的操作放在一起,作为一个相互依存,不可分割的整体来处理,它采用数据抽象和信息隐藏技术。它将对象及对对象的操作抽象成一种新的数据类型类,并考虑不同对象之间的联系和对象类的重用性。面向对象程序设计较之传统的结构化程序设计,优越性表现在,它有希望解决软件工程的两个主要问题软件复杂性控制和软件生产率的提高。面向对象程序设计能支持的软件开发策略有:

20、 编写可重用代码 编写可维护的代码 共享代码 精化已有代码在80年代,C语言成为一种及其流行,应用非常广泛的语言。C是在C语言的基础上进行扩展,并加入了对象机制。C以其高效的执行赢得了广大程序设计者的喜爱,在C中提供了对传统语言C的向后兼容性,因此,很多已有的程序稍加修改就可重用,许多有效的算法也可以重新利用。它是一种混合型的面向对象程序设计语言,由于它的出现,才使面向对象的程序设计语言越来越得到重视和广泛的应用。编译器的选择常用的C编译器有MS-C+, Turbo C+, Borland C+, Visual C+ 及Borland C+ Builder等。其中MS-C+, Turbo C+

21、 应用于DOS环境下,不适合于Windows下的程序开发。Borland C 和Visual C分别基于OWL和MFC类库进行Windows下的程序开发,虽然功能强大,但所依赖的类库非常复杂,学习和熟悉都相当不易,从而导致了开发周期长,效率底等问题,不适合于开发这类上层软件。而Borland公司的Borland C Builder则成功地解决了以上问题,成为了一种划时代的C开发工具。它结合了Borland C 和Delphi的优点,将可视化开发环境,开发工具和可视组件加入到C语言中,实现了真正的面向对象的开发。与其他工具相比,CBuilder具有以下优点:1 CBuilder是一个可视化的快速

22、应用程序开发工具,具有高效,最优化的源代码编译器,可视化的快速应用程序开发环境和可扩展的数据库技术,适合各类可视化程序开发。2 因为它使用的程序语言是C,所以是一个面向对象的语言,具有灵活,自由,简洁,高效的特点,由于Windows自身是用C语言编写,所以C可直接调用Windows API,另外,还增强了异常处理能力和类的封装能力及特性。3 CBuilder具有完整的基于组件设计与可视化的开发环境,提供了所有可视组件对象的完整代码,可以让程序设计人员很快产生程序原型及用户界面,实现代码的重用。4 拥有独立,高效的编译技术,执行文件EXE或DLL都与Windows的操作环境无关,支持多语言开发代

23、码,对于Power Builder,Visual Basic,Borland C,Visual C和Delphi代码都可以重新编译利用。5 有强大的数据库支持能力,提供了存取dBase或FoxPro数据库数据的能力。提供了Client/Server支持,可以轻松自如地开发客户/服务器程序。6 C Builder提供扩展的ActiveX支持及VCL增强功能。7 C Builder提供了与微软产品的兼容性,可以很容易地将微软Visual C 的项目转换为C Builder的项目。第3章 软件界面31界面组成上位机软件界面主要由以下几部分组成:基本数据输入及测试管理,测试控制,司机助手,道路阻力设定

24、器,工况模型。如图:图3. 1以下各节将分别介绍软件界面的各个组成部分。32基本数据输入及测试管理 该窗口主要用于输入测试所用的各种基本数据,包括试验参数(主要有试验编号,试验日期,试验员,驾驶员等),整车参数(主要有车辆编号,生产厂家,车重,长宽高等)以及发动机参数(主要有发动机编号,发动机生产厂家,燃油型号,润滑油型号等)。这些数据均由厂家提供输入并存入数据库以备后用。此外,该窗体还用于对测试进行整体管理,包括建立一新测试,继续前次测试以及删除无效测试等。如下图: 图3. 2 基本数据输入及测试窗体上的快捷键用于对测试进行管理,其具体说明如下:(1) 建立新测试:用以建立并准备一次新的测试

25、。首先关闭并保存上一次测试,然后清空数据输入栏,并自动填入时间日期等默认值。(2) 开始新测试:正式开始一次测试。填入的基本数据将被存入数据库并进行一定的合法性判断。然后初始化各测试项目以准备测试。(3) 保存基本数据:用以保存输入的基本测试数据。(4) 保存所有数据:用以保存基本测试数据及所有测试项目的测试数据。(5) 继续以前的测试:用以完成或修改以前的某次测试。(6) 删除:将某次测试及其数据从数据库中删除。33测试控制在基本数据输入及测试管理窗口正确输入完毕所需数据后,即可开始各个测试项目的测试。为方便用户学习使用本软件,也由于各测试项目的流程基本一致,多数(除工况排放外)项目的测试控

26、制窗口在风格布局上均一致,故以下以起步加速为例介绍这些窗口。如图:图3. 3 测试控制窗 快捷键有1)保存,用于将测试结果存入数据库。2)打印,用于打印出测试结果。窗口由以下几部分组成: 3) 设置测试条件:根据不同测试项目的不同要求,设置测试距离,初速度,末速度等。由于要求不同,各监控窗口该部分界面也有所不同。4) 开始及结束按钮:测试未开始时为绿色,按下后开始起步加速测试,同时按钮变为红色,可随时按下以强制停止测试。当测试结束时(强制或正常结束)变绿,可以开始下一次测试。5) 即时数据显示:显示车速,发动机转速,火花塞温度等即时数据以供测试员监测。6) 试验结果显示:在表格中显示测试结果。

27、 一个典型的测试过程为:1) 设置测试条件,如起步加速中需要设置测试距离。2) 开始测试,按动开始按钮,摩托车开始起步,同时显示速度,行驶距离等即时数据。当摩托车达到初始条件(如一定的初速度,或行驶过一定距离)后,上位机开始记录并处理测试数据。3) 在测试过程中,测试员可以通过所显示的即时数据了解测试进程。当测试出现问题时,测试员可按动停止按钮强制停止测试。4) 当摩托车达到一定结束条件(如行驶完一定距离,或达到一定速度)时,测试自动结束。上位机对记录的数据进行计算处理后,显示在表格中。5) 按照一定条件,可以手工或由软件自动删除表格中的不合格数据。合格数据将被存入数据库,也可以打印出结果。工

28、况排放与其他测试项目有所不同,故其测试窗口也有所不同,以下单独介绍,如图:图3. 4 工矿排放测试窗口1) 设置测试条件:设置摩托车测试循环次数及测试所使用的工况模型。2) 显示剩余循环次数及当前测试剩余时间。3) 即时数据显示。4) 测试结果显示。5) 摩托车行驶路线显示。用于显示设定行驶路线和摩托车的实际行驶路线。6) 出差,入差统计。出差指摩托车行驶过程中车速超过了限定的误差范围,入差指回归误差范围以内。出差与入差影响到工况排放数据的有效性,因此需要统计。在工况排放测试中,摩托车要沿着给定的速度,时间曲线(即工况模型)加减速,因而测试人员要随时掌握车辆相对于给定路线的行驶情况,故工况排放

29、测试窗口除了一般窗口所具有的控件外,还加入了行驶路线显示和出,入差统计。34司机助手 为方便驾驶员及时了解测试状况,接受测试员发出的命令,在驾驶员面前也有一台CRT,随时将车速,发动机转速,及指令等显示给驾驶员。为使驾驶员清楚了解测试状况,司机助手仅显示少量重要信息,并尽量以较大的图形文字显示。不同测试项目的司机助手在风格布局方面也相似(除工况排放),故仅以起步加速为例进行介绍。图3. 5 司机助手(起步加速)鉴于司机主要关心的是车速和发动机转速,司机助手以两个较大的虚拟指针式仪表显示。此外,司机助手以虚拟温度记的形式分别显示火花塞温度,机油温度,冷却液温度和排气温度,如图中3号部分。1号部分

30、用以显示测试进程。在起步加速中显示的是行驶路程。测试指令由2显示。在工况排放中,司机需要根据工况模型驾驶,因此其司机助手也不同于其他测试项目,如图:图3. 6 司机助手(工矿排放)(1) 行驶路线显示:以动画的形式显示既定行驶路线和摩托车的实际行驶状况。横轴为速度,纵轴为时间。红色实心线为既定行驶路线,两侧的黄色虚线为行驶车速最大偏差。以图标代表摩托车,其后的蓝线为摩托车的实际行驶路线。(2) 车速表(3) 即时数据显示:即时显示行驶时间,行驶距离等。35路阻力设定器由上位机设定道路阻力设定器参数,并监控滑行实验直至数据修正满足要求。窗口如图:图3. 7 道路阻力设定器(1) 设定预热时间,预

31、热车速,允许误差,稳定车速,终止车速等(2) 设定F(v)曲线,可以选择设定方式,包括多点设定,方程式设定,V-t设定(3) 实时显示时间,速度,阻力(4) 实时显示F(v)曲线,其中绿线为设定曲线,红线为滑行修正后的曲线36工况模型在工况排放测试中,驾驶员需要根据工况模型驾驶。为方便地建立工况模型,软件中加入了工况模型窗口。如图:图3. 8工况模型实际是一种二维折线,其横轴为速度,纵轴为时间,规定了行驶中每一时刻的速度。通过设定折线首位两端的时间,速度,即可确定工况模型。1) 模型设定:输入各点的时间,速度,以建立工况模型。2) 显示工况模型:随各点参数的输入,显示所建立的工况模型以便于模型

32、的建立。第4章 数据管理41工作简介在本次摩托车测功机上位软件编写中,有相当多数据需要收集,计算,整理及存储,以简单数据文件的方式难以安全,有效且方便的处理,因而选择使用数据库对以上数据进行统一管理,极大地方便了程序编写,并有效消除了可能出现的安全隐患,提高了软件质量。本章首先对数据库及数据库语言SQL进行了简介,以使读者初步了解数据库及其特点,方便对以后几小节的阅读。第四节通过具体的上位软件例程,介绍了如何在应用程序中使用数据库。第五节则介绍了数据报表的生成及打印。42数据库简介数据处理是计算机应用中最大的一个分支。据估计,全世界计算机中有90以上的CPU时间用于数据处理。数据处理对计算机系

33、统资源(包括硬件,软件和人员)的要求与其他方面的应用(如科学计算等)有很大差别。从软件方面来说,数据库技术是数据处理最新和最有效的技术。数据库技术产生于六七十年代之交,其前身是曾经广泛应用的文件系统。1969年,IBM公司研制了世界上第一个层次型数据库管理系统IMS(Information Management System);同年美国DBTG(Data Base Task Group)小组发表了DBTG报告,给出了网络型数据库的论文,从而奠定了关系数据库的基础。层次型,网络型和关系数据库直到现在仍是数据库系统的三种主要类型。数据库系统一般由四部分组成:1 硬件硬件既计算机的硬设备,包括主机(

34、CPU和内存)及外部设备。数据库系统对计算机硬件的要求与数值计算等其它应用不同,除了要求CPU的处理速度高,内存容量大外,还要求有较多高质量的外部设备大容量磁盘机,高速磁带机及高速宽行打印机等。2 软件数据库系统中的软件主要包括操作系统,数据库管理系统(DBMS),应用程序和语言编译器。操作系统是其他各类软件的基础,结构一般较复杂,由生产厂家或软件公司提供。数据库管理系统是数据库中最重要的软件系统。一般说DBMS应具有以下功能: 数据库定义功能,包括各种数据库文件的组织和存储结构定义,以及保密定义等内容。 数据库的建立和维护功能,包括数据库文件的建立,更新,恢复和数据库的性能监视等。 数据库的

35、管理功能,包括系统控制,数据存取及数据的安全性,完整性控制等。 许多数据库管理系统还具有通信功能,适用于分布系统并且有远程作业输入接口。4. 3嵌入式SQL语言SQL(Structured Query Language)语言是关系数据库的标准语言,它是1974年由Boyce和Chamberlin提出的。1975年1979年IBM公司San Jose Research研制了著名的关系数据库系统原型System R并实现了这种语言。1986年10月美国国家标准局(ANSI)的数据委员会X3H2批准了SQL作为关系数据库语言的美国标准,同年公布了SQL标准文本(简称SQL86)。1987年国际标准化

36、组织(ISO)也通过了这一标准。此后ANSI不断修改和完善SQL标准,并于1989公布了SQL89标准,1992年又公布了SQL92标准。由于SQL语言功能丰富,语言简洁,因而倍受用户及计算机工业界欢迎。自SQL成为国际标准后,各个数据库厂家纷纷推出各自的支持SQL的软件或与SQL的接口软件。这就使得大多数数据库均采用了SQL作为共同的数据存储语言和标准接口,从而使未来的数据库世界有可能连接为一个统一的整体。因此,有人把SQL被制定为关系数据库语言的标准及其以后的发展称为是“一场革命”。SQL具有自含式语言和嵌入式语言两种形式:自含式SQL能够独立地进行联机交互,用户只需在终端键盘上直接键入S

37、QL命令就可以对数据库进行操作;嵌入式SQL能够嵌入到高级语言(如C,COBOL,FORTRAN)程序中来实现对数据库的数据存取操作,给程序员设计程序提供了很大的方便。在这两种不同的使用方式中,SQL的语法结构基本上一致。而统一的语法结构的特点,为使用SQL提供了极大的灵活性和方便性。由于本次使用C作为软件开发语言,故选用嵌入式SQL语言操作数据库。CBuilder对数据库应用提供了完善的支持,极大地方便了数据库开发,但与标准嵌入式SQL语言相比,又有其不同点和特点,在下一节中将着重讨论。4. 4在程序应用中使用数据库基于BDE(Borland Database Engine,既Borland

38、数据库引擎)的数据库连接技术是Borland CBuilder最早使用的数据库连接技术,它利用数据库驱动程序隐藏了应用程序连接不同种类数据库的差异,从而为应用程序提供访问所有数据库的统一接口。而CBuilder中的数据库统一接口就是VCL提供的基于BDE技术的数据库访问和控制组件,它们是C+Builder数据库连接技术的核心。以下将基于本次程序设计,介绍在CBuilder如何在应用程序使用数据库。1 建立数据库由于BDE隐藏了应用程序与数据库连接的底层细节,使数据库应用程序不需要因为数据库物理结构的变化而修改代码,因而可以方便的连接使用各种常见数据库,如Access,dBase,FoxPro等

39、。本程序使用了Access数据库。C+ Builder提供了DataBase DeskTop用于创建数据库,可以点击开始/CBuilder/DataBase DeskTop启动该程序,如下图所示:图4. 1 Database Desktop点击File/New/Table, 在表类型对话框中选择MSACCESS,打开数据库编辑器,设计基本表,如图所示:图4. 2 建立数据库设计结束后选择适当目录保存即可。也可以使用专用数据库软件,如微软Office系列的Access设计所需数据库,可以更为方便快捷,这里不作进一步介绍,读者可查阅相关书籍资料。2. 数据库别名BDE采用别名机制管理数据库的连接信

40、息。所谓别名就是用来表示一个数据库资源的名字,包括与其相连的一系列参数。通过引用数据库别名,程序员可以忽略数据库所在路径等具体信息直接使用数据库,从而使编写和修改数据库程序更为方便。在设计应用程序之前,程序员必须建立访问数据库的别名,以在应用程序中使用。打开控制面板,双击管理工具,选择数据源(ODBC),双击打开,如图所示:图 4. 3 选择数据源在用户DSN页,点击添加,选择合适的数据库驱动程序。本软件使用了Access数据库,故选择Microsoft Access Driver (*.mdb),如图:图4. 4 选择数据库驱动程序点击完成,进入安装页面,如图:4 5完成在数据源名填入数据库

41、别名,如果需要,在说明填入数据库的简要说明。由于已创建了数据库,在数据库中点击选择,进入数据库选择页面,如图:图4. 6 找到已建好的数据库,点击确定,数据库别名建立完毕。3. 操作数据库CBuilder提供了丰富的数据库控件用于操作控制数据库,常用的控件有Ttable和TQuery。本次程序设计使用了TQuery操作数据库,故将重点介绍TQuery,对于TTable只作简要介绍。 TTableTTable通常用于为数据库中的表建立数据映射,从而,应用程序可以像访问数据库中的表一样访问TTable对象。因此,在使用TTable对象中的数据前,应用程序必须建立数据映射,即通过设置Database

42、Name(数据库别名),TableName(表名)这两个属性,将TTable对象与数据库中的表对应起来。可在设计期在属性观察器中设置这两个属性,或在代码中设置,如下示例程序: Table1-Active=false; / /关闭可能存在的数据映射 Table1-DatabaseName=CGJ; / /设置数据库别名 Table1-TableName=”BasicData”; / /设置表名 Table1-Active=true; / /打开映射注意,这里建立的数据映射是供应用程序中的数据感知控件,如TDBEdit,TDBGrid等使用的,单独使用TTable无法做到用户与数据库之间的交互。与TQuery相比,TTable具有简单,快捷的特点,结合TDBEdit,TDBGrid等多种数据感知控件,可以在不编写代码的情况下对表中的数据做任何操作,包括插入,修改,删除等。但TTable只能为一个数据表中的数据建立数据映射,而不能同时访问多个表,且其对数据操作的灵活性也不如TQuery。而本次程序设计中,数据库含有多个表,且相互有较多关联,故最终选用TQuery操作数据库。TQuery TQuery使用SQL语言操作数据库,因而具有很大的灵活性。在使用TQuery

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号