毕业设计(论文)电路分析的试卷自动生成系统设计.doc

上传人:laozhun 文档编号:3984100 上传时间:2023-03-30 格式:DOC 页数:31 大小:810.50KB
返回 下载 相关 举报
毕业设计(论文)电路分析的试卷自动生成系统设计.doc_第1页
第1页 / 共31页
毕业设计(论文)电路分析的试卷自动生成系统设计.doc_第2页
第2页 / 共31页
毕业设计(论文)电路分析的试卷自动生成系统设计.doc_第3页
第3页 / 共31页
毕业设计(论文)电路分析的试卷自动生成系统设计.doc_第4页
第4页 / 共31页
毕业设计(论文)电路分析的试卷自动生成系统设计.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《毕业设计(论文)电路分析的试卷自动生成系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)电路分析的试卷自动生成系统设计.doc(31页珍藏版)》请在三一办公上搜索。

1、电路分析的试卷自动生成系统摘要现在很多学校都推行“教考分离”,普遍采用的方法是同学科教师之间交换出卷。不过,传统的手工出卷方式存在很多弊端:题目录入在很大程度上属于重复劳动,试题缺乏科学的评价体系,难易度不易把握等。论文就为大家介绍一款试卷生成软件,平时由各科任课教师利用它充实题库,然后由教务部门进行汇总,需要组织考试时利用软件的自动出卷功能从题库中抽取相应年级、难度的试题,从而实现真正意义上的“教考分离”。论文对“试卷生成系统”的开发过程进行了详细的阐述,并提出了解决该问题的策略,该系统虽然不可能完全克服其缺点,但现阶段对教师出试卷方面进行了充分的研究和探索,应尽量地提高其性能,使计算机辅助

2、教学更上一个台阶。关键字: 题库;录入;试卷生成The system of Test Paper Automatic Creating of Circuit analysis AbstractNow many schools pursue “teaching and examination separated .The method generally adopted is to exchange the paper between teachers of same discipline. However, tradition mode of setting paper has many dr

3、awbacks such as: The topic inputting based on repeated work, the examination questions lack the scientific appraisal system, difficulty grade is not easy to hold, etc. This text recommend for everybody one paper-create software, teachers of different discipline should utilize it enrich subject stora

4、ge at ordinary times, and then is it gathered by educational administration department. When need to have an examination, system utilizing software function of auto paper-create collect corresponding grade paper subjects, thus realize real “teaching and examination separated . This text expound the

5、development course of the paper paper-create system and bring forward the solve method of the problem, although this system can not overcome all shortcomings, it do plenty research work of “paper-create system”at present stage, we must do our best to improve its performance and make computer-assiste

6、d go up a step.Key words: subject storage; inputting; paper-create目录第1章 绪论11.1 研究背景11.2 问题提出及研究意义1第2章 系统设计22.1系统完成的功能222系统构架2第3章 系统设计33.1开发工具的选取33.1.1 Delphi 5.0概述43.1.2 Delphi 5.0的特性43.1.3 数据库连接方式选择53.2总体设计思想63.4.3 建立数据查询窗体133.4.4数据库的动态链接1435系统功能的实现153.5.1图形装入153.5.2出错的捕获与控制163.5.3自动选题算法163.5.4试卷及答

7、卷的组装1736 制作系统安装程序17结束语19谢辞20参考文献21第1章 绪论1.1 研究背景高校教务管理工作中一项非常重要的工作就是考试管理工作,每学期各专业考试,从组织出卷到试卷的印制及试卷的管理等工作非常繁琐且工作量很大,这种组织管理方式不仅工作任务繁重而且试卷的标准化程度、难易程度、题量大小等各方面难以控制,难以形成有效的试题库,不利于充分发挥历年来的优秀试题及试卷的作用,给试题和试卷的管理带来很多问题和困难。鉴于这种情况,利用计算机进行试卷的自动生成并逐步积累形成有效的试题库,对试题和试卷的管理将变的高效而便捷,对提高工作效率,使试卷管理逐步走向正规化自动化将起到十分重要的作用。

8、1.2 问题提出及研究意义一般情况教师想出一份试卷,要么到庞大的题库里一道道的把题找出来,或是从几本相关的书里把题一道一道挑出来。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。正是为了能够帮助老师轻松的出一份高质量的试卷而开发了本软件。为了达到预期的目标我们最终选择了Microsoft Office Word做为本软件的终端输出。而一个功能完善的试卷自动生成系统起码应该具有四部分的内容:题库维护,试卷生成,在线考试以及考试分析。该系统是一个比较复杂庞大的系统,涉及的内容很多。而最主要的就是题库维护和试卷生成部分。试卷自动生成系统的诞生,让老师们能及时准确的调查学生某一阶段学习的

9、情况,并且减少了大量的工作量。第2章 系统设计2.1系统完成的功能为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求: 1、 系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对员工信息处理的需求。 2、 系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成

10、,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 3、 系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 4、 系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。22系统构架 开发这个系统的目的就是提高教师工作效率,实现考试信息管理以及考试流程的系统化、规范化和自动化。系统最终实现的主要功能如下: (1) 题库管理设置部分:包括管理员

11、对题库的增加、删除和修改操作。 (2) 考试科目的设置部分:包括管理员对考试科目的增加、删除和修改操作。 (3) 试卷的信息的设置:由管理员设置考试信息。(4) 用户管理部分:由管理员浏览用户信息库里面的所有信息,并提供管理员添加用户、删除和修改用户信息的功能。第3章 系统设计3.1开发工具的选取Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为

12、领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作Delphi的每一个设计细节,都将带给您一份欣喜。 Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩

13、小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。 Delphi已经为您做好了一切基础工作程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。 在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不

14、为它们所困扰,轻松从容地对可视部件进行编程。 面向对象编程的概念 面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。 说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产

15、生的好处还没有带来的麻烦多。 而Delphi是完全面向对象的,这就使得Delphi成为一种触手可及的促进软件重用的开发工具,从而具有强大的吸引力。 一些早期的具有OOP性能的程序语言如C+,Pascal,Smalltalk等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,程序员仍然要编写大量的代码。Delphi的推出,填补了这项空白。您不必自己建立对象,只要在提供的程序框架中加入完成功能的代码,其余的都交给Delphi去做。欲生成漂亮的界面和结构良好的程序丝毫不必绞尽脑汁,Delphi将帮助您轻松地完成。它允许在一个具有真正OOP扩展的可视化编程环境中,使用它的Obj

16、ect Pascal语言。这种革命性的组合,使得可视化编程与面向对象的开发框架紧密地结合起来。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(Resourse Workshop)。3.1.1 Delphi 5.0概述Delphi 5.0是Inprise公司在1998年推出的4.0版本以后新开发的面向对象、可视化的快速应用程序开发环境(RAD-Rapid Application Development

17、)。3.1.2 Delphi 5.0的特性高开发效率的 Internet 应用的开发工具: Delphi 5 增强了一系列功能,以便使企业在 Internet 上快速扩展现存的系统和构造 新系统。他们包括: Internet Express:通过简化数据分发和优化数据交换,加速了 Internet 和 XML 应用的开发。可以让开发人员构建高速、 可维护和可伸缩的 Web 服务器应用,向客户端浏览器及时提交动态数据; HTML 4:构造完全符合 Web 标准的动态瘦客户端,并在 Internet 上快速分发符合 Internet 标准、易响应的客户端应用程序; MIDAS 3:用于处理对 In

18、ternet 有需求的应用程序。Delphi 5 中的 MIDAS 3 所构造和交付的应用程序的交易量和用户数都具有伸缩性。 MIDAS 支持所有的分布式计算标准(HTTP、CORBA、COM、MTS), 并可将已有系统与电子商务无缝的集成在一起。 高效率的数据库开发工具: 为了利用数据库开发领域的最新技术标准,Delphi 5 提供了下列新功能: ADOExpress:快需访问所有类型的信息。用 Microsoft 的 ADO 和 OLE DB 技术, 为开发人员提供快速数据访问方法,以便为最终用户提供 最好的商业选择。他们被 Delphi 5 打包在其组件构架中。开发人员能够 快速建立 I

19、nternet 上的商业系统, 从而将商业信息方便地传递给 Internet 上的最终用户和客户群; InterBase Express:InterBase 是快速、低维护量、占用较少资源的 关系型数 据库。增值开发商、系统集成商和独立软件开发商能够利用 InterBase 快速构建和分 发一个高速的应用。 高效的企业级开发工具: Delphi 5 包括一系列的增强功能,以提高大型企业级开发团队的开发效率。 它包括: TeamSouce:一个新工具,使开发团队有效管理源代码的改变。 TeamSouce 对已存在的 源代码进行版本配置管理(象PVCS),并以 一种高效的工作流模式简化了以往大型开

20、发团 队对源代码的管理。 Borland Translation Suite:快速地将应用程序国际化或本地化, 以适应新的语言 和文化环境。 高效率的开发工具: Delphi 5 用以下特性缩短开发周期,提高程序员的开发效率: 集成开发环境的增强,其中包括:一个树型结构的 Data Module Designer 和 Data Diagram 视图,以便于充分理解应用程序中的数据; Project-Wide 浏览便于更好地理解代码和浏览VCL; To Do List 依据时间表保护开发进度;一个新的控制面板和控制台 应用的向导; 高级调试工具:包括分布式开发的远程调试;多进程和跨进程的调试;

21、断点提示; 对组和活动点进行快速导航;FPU View 用于低级调试和简化 全部的可用性。3.1.3 数据库连接方式选择Delphi连接数据库的主要方式有两种:一是:BDE ,二是ADO 。现在我们来大致比较一下这两种技术的优缺点:BDE(Borland Database Engine)是Delphi颇具特色的数据库连接管理技术。凭借窗体和报表,BDE可以访问诸如Paradox,dBASE,本地InterBase服务器的数据库,也可访问远程数据库服务器上的数据库,如Oracle,SyBase,Informix等CS数据库中的数据库,也可访问经ODBC可访问的数据库管理系统中的数据库。ADO(A

22、ctiveX Data Objects)是微软提供的一项技术。通过ADO,可以方便的访问各种类型的数据库,特别是OLEDB数据库。ADO已成为访问数据库的新的标准接口。从Delphi 6.0开始Delphi添加了对ADO的支持,以便让用户能迅速实现对终端用户用来做商业决策的数据库的一致性访问,结合Delphi本身的开发式数据组件结构,程序员可以很快地建立应用程序,用来把自己的商业数据库通过Internet发送给客户,最终用户以及整个销售环节。通过ADO,Delphi 7.0也能让用户快速访问关系或非关系数据库以及E-Mail和商务文件系统。这两者提供了几乎相同的功能,在进行产品开发时,势必要做

23、一个精心的比较。虽然ADO技术提出的时间不长,并被定位为工业标准的,而且其在性能上由于当前没有良好的数据库引擎支持,其性能还不够完美,但是,我们应该要注意到Borland公司已经宣布停止发展BDE了,其性能被ADO超越也是迟早的事,因此,在开发长期应用的产品时,推荐采用ADO技术。这样还有另一个好处是,在进行产品分发时,可以避开大量BDE的链接库DLL的分发。基于以上原因我们选择了ADO做为我们的数据库访问组件。3.2总体设计思想总体设计包括:试题库设计、各类代码库设计等。试题库分专业建立,包括有:课程代码、试题类型、题目、参考答案等字段,其中课程代码表示该题目所属课程,试题类型表示该题目所属

24、题型(如选择题、填空题等),题目用于存储试题本身,参考答案用于存储该题目的参考答案或评卷答案。 各类代码库包括:专业代码库、课程代码库、试题类型代码库等。 试题录入过程:首先选择专业,选定后系统根据专业代码打开相应的专业题库,然后确定录入课程代码,进入录入状态;录入过程中可自由编辑、增、删试题;特殊公式、符号或图形可通过其它软件进行编辑,再粘贴进来,操作简便灵活。试卷生成过程:弹出一个对话框,用户在该对话框中确定是否要规定必选题,如需要确定必选题则弹出另一窗口选择必选题,选定后返回,如无必选题则直接弹出试卷结构对话框,用户在该对话框中确定生成试卷的各个题型及各题型所选题数或总分值,确定后,系统

25、自动开始组卷过程;组卷过程中,首先将某一题型中的必选题抽入试卷库中,题数或分值不足时,则产生随机数序列,在该类型题目中未被选中的题目中抽取其它题目补充到试卷库中,直至该类型题目抽取满额为止,然后抽取下一类型的题目,如此反复进行,直到所有类型题目抽取结束,至此全部试卷已组织完毕;按预先规定好的格式将试卷库中的试题复制到指定的试卷文件中,试卷生成过程全部结束。试卷打印过程:系统提供一种固定的试卷输出格式,但有些情况下,需要对试卷格式进行调整或对试题进行重新编辑,所以系统另外给出一种自由格式试卷形式,由操作者根据需要自行编辑、排版打印输出。试卷生成流程1.手动生成试卷流程图如图3-1:图3-1 手动

26、试卷生成流程图2抽取现有资料的流程图如图3-2: 图3-2 抽取现有资料的流程图3.3 Delphi 5.0开发数据库应用程序设计一个数据库应用程序包括以下三个部分的内容:1.使用数据库;使用数据库是数据库应用程序获得数据的来源。必须知道Delphi中运用什么控件访问数据库和Delphi支持访问的数据库种类。Delphi5.0中数据访问控件如图3-3所示 数据访问控件名称 主要用途TDataSource作为数据访问控件Ttable,Tquery,StoredProc与数据控制控件TDBGrid、TDBEdit等之间传送数据的通道TTable 通过BDE存取数据库表中的数据,TTable再与TD

27、ataSource进行连接,使得数据控制空件能有效地从TTable中访问数据并能显示和编其中的数据TQuery利用SQL语言访问数据库表中的数据,并与TdataSource一起进行,实现数据浏览控件对数据库的访问TStoredProc一般主要用来访问远程服务器中的存贮过程TDatabase当应用程序要登录到一个远程服务器上的数据库时,可以用控件来建立应用程序与数据库永久性的连接TBatchMove用于复制表中的结构或表中的记录 图3-3 数据访问控件列表Delphi支持的数据库种类如图3-4数据源(DataSource) 特性描述dBASE数据库(.DBF)数据库表是通过dBASE数据库管理系

28、统或DBD建立的,每个表示一个独立的文件Paradox数据库(.DB)数据库是通过Paradox数据库管理系统或DBD建立的,每个表示一个独立的文件ASCII文件(.TXT)表示通过Database Desktop 建立的,每个表示一个独立的文件本地InterBase服务器(.GDB)数据库是通过InterBase 数据库管理系统建立的,多个表包含在一个数据库文件中SQL 数据库服务器(Oracle,Sybase,Informix,MicrosoftSQL Server,InterBase)数据库是通过相应得数据库服务器提供的专用或通用工具建立的,也可以通过DBD来创建数据库,并通过SQLLi

29、nk访问数据库 图3-4 Delphi支持的数据库种类 2.数据库结构;用户获得的数据以及进行存储的数据在数据库中都是根据一定的组织形式保存的,现在采用的数据库种类一般是关系型数据库。一个关系型数据库是由若干表组成的。表(Table):一个表就是一组相关的数据按行排列,像一张表格一样。字段(Field):在表中,每一列称为一个字段。每一个字段都有相应得描述信息,如数据类型、数据宽度等。记录(Record):在表中,每一行称为一条记录。索引(Index):为了加快数据库德访问速度,许多数据库都使用索引。3.设计用户接口。用户接口是技术上的说法,说得通俗一点就是数据显示界面和数据更新界面。Delp

30、hi提供一组数据控制组件,用于显示数据库中的各条记录的各个字段,接收用户对数据的各种更新。3.4利用Delphi5.0创建数据库应用程序首先,我们来简单了解一下Delphi是如何存取数据库的。 Delphi对数据库的操作主要是利用BDE(数据库引擎,Borland Database Engine的缩写)来进行。当然,通过其他方式直接访问数据库,在Delphi中也都是可以实现的。不过,对于本地数据库来说,通过BDE存取数据效率很高。对本地数据库如果能够熟练操作,编写网络数据库也就容易上手了。尤其对初学者来说,写网络数据库的机会还是不如单机本地数据库多。所以,我们把重点放在本地数据库上。 BDE是

31、负责用户和数据库交流的中间媒介。事实上,应用程序是通过数据访问组件和BDE连接,再由BDE去访问数据库,完成对数据库的操作,而并非直接操作BDE。这样用户只需关心Delphi中的数据组件即可,不用直接和BDE打交道。 数据库组件主要分为两类:“数据访问组件”和“数据控制组件”,它们和数据库的关系可用下面的关系图来示意: 图3-5 通过BDE,几乎可以操作目前所有类型的数据库。 数据访问组件在Delphi组件面板的Data Access组件页上可以找到。这里我们应当注意:Table、Query和Storedproc三个控件,它们称为“数据集组件”,用于和数据库连接。学习者可以将这些控件视为“虚拟

32、”的数据库,对它们的操作就可以认为是对数据库的操作。 (1)DataSource控件是数据集组件和数据控制组件的连接媒介。数据控制组件是用户操作数据库中数据的界面,只有通过DataSource控件才能和数据集组件连接,从而对数据进行显示、修改、维护等操作。 (2)Table控件是通过数据库引擎BDE来存取数据库中的数据的。通过BDE将用户对数据库的操作(如添加、删除、修改等)传递给数据库。 (3)Query控件是利用SQL(Structured Query Language,结构化查询语言)通过BDE来操作数据库的,和Table控件完成的功能相似,它只是采用了SQL来实现。 (4)Stored

33、proc控件是通过BDE对服务器数据库进行操作的,常用于客户/服务器(C/S)结构的数据库应用程序。 (5)DataBase控件一般用于建立远程的数据库服务器客户/服务器结构的数据库应用程序和数据库之间的连接。 (6)Session控件是用于控制数据库应用程序和数据库连接的,主要用于复杂功能的实现,例如:多线程数据库程序设计。 数据控制组件也可以称为数据显示组件或数据浏览组件。它们的主要功能是与数据访问组件相页上。它们主要有:DBGrid控件、DBNavigator控件、DBText控件、 DBEdit控件、DBMemo控件、DBImage控件、DBListbox控件、DBComboBox控件

34、、DBCheckBox控件、 DBRadioGroup控件、DBLookupListBox控件、DBLookupComboBox控件、DBRichEdit控件、 DBCtrlGrid控件、DBChart控件等。 此外,还有一些组件与数据库有关。例如,Decision Cube是一组主要用于数据统计工作的控件,以表格或图形等直观的方式表达统计结果。QReport是用来输出报表的控件,但是,根据经验来看,此控件不太适合中国人报表的习惯。此组件是Borland公司购买而来,性能不是太好,所以现在使用的不是很多。目前,有一些第三方控件提供的报表控件很好用,也有一些国人自己制作的报表控件,很适合中国人的

35、习惯。 还有一个组件页是ADO(ActiveX Data Objects),主要是使用微软的OLE DB功能对数据库服务器中的数据进行访问和操作。其主要优点是易于使用、高速度、低内存支付和存储空间占用较少。ADO支持用于建立基于客户端/服务器和基于Web的应用程序。ADO同时具有远程数据服务(RDS)功能,通过RDS可以在一次往返过程中实现将数据从服务器移动到客户端应用程序或Web页、在客户端对数据进行处理然后将更新结果返回服务器的操作。ADO现在逐渐流行起来,ADO本身也很复杂,微软有专门的帮助文件来说明如何使用ADO,学习者有兴趣可以找相关资料进一步学习。3.4.1构造数据库用于存放用户数

36、据 不同的数据库在内部存储结构上有很大的不同,但DE-PHI的数据存取和控制构件封装了数据库的内部结构,开发的程序向终端用户提供了相同的界面,而不用考虑具体的数据库的内部结构。Dephi数据库应用程序并不直接同数据库打交道,而是通过一个名为BDE(Borland Database Engine)工具来处理各个数据库文件。BDE定义了各种数据库文件的接口,如Dbase, Paradox, Oracle, Sybase等各种数据库,只有通过BDE, Dephi数据库应用程序才能处理各种数据文件。因此,在编写程序之前,必须设置好数据驱动器及有关参数。 配置BDE的方法如下: 选择程序Borland

37、Dephi 5.0 BDE Administrator,开启BDE配置程序,出现BDE配置程序的主界面,其中Database标签列出了当前Dephi所有可以访问的数据源。对于数据源,可以修改其参数,以符合数据源的实际。Dephi 5. 0用别名(Aliase)来管理数据源,一个别名可以包含访问一个数据库的所有信息,如数据库的名、用户名、口令等。下面用RSGLDA来表示D:RSGL目录下的PARADOX数据库表,其操作步骤是: 1.选择()bject I New命令,打开New Database Alias对话框,从中选择Dephi的数据库驱动器名,对Paradox我们选择srANDARD; 2

38、.单击OK,一个名为STANDARD1的别名被建立; 3修改STANDARD1为RSGLDA,并在Defination页修改PATH为存储数据库表的目录,并选择Object I Apply命令保存,则别名RSGLDA建立完毕。 确定了数据库结构和类型之后,下面来建立数据库表。步骤如下: 1.选择程序Borland Dephi 3.0 Database Desktop或DephiIDE中选择Tools I Database Desktoi命令,就可以运行Database Desktop命令; 2.选择File I New I Table命令,打开Creat Table对话框,输人要建立的表的类型

39、,本例选择PARADOX 7以建立一个Paradox的数据库表,单击OK进人Crate PARADOX 7表对话框; 3.在Field Name域输人要建立的数据库中每一字段的名称,在Type域选择相应的类型,在Size域输人字段的宽度,最后在Key域选择关键字段。关键字段表示该字段的值对于每一个记录都是唯一的。Paradox表只能有一个关键字段,且该字段必须为表中的第一个字段; 4.当所有字段输人完成后,单击Save as按钮,打开SaveTable as对话框,选择别名为RSGLDA,表名为RSGL. DB 。3.4.2实现对数据库中数据的控制1规划程序总体设计结构主控窗体。在Dephi中

40、,窗体是构造应用程序的基本结构单元,相当于传统程序设计中所说的模块。2.数据维护窗体的建立DEPHI数据库应用程序基本上由两个部分组成:DataAccess组件和DataControl类组件。DataAccess类组件负责和BDE进行数据交换并为DataControl类组件提供数据,将DataControl类组件中被修改的数据经BDE传送到数据库文件中,其中和BDE直接打交道的组件为DataSet组件。DataSet组件包括Table, Query等,每个DataSet组件都和一个数据库文件相连接,并且为DataSource组件提供数据,而每个DataSource组件也应指定一个DataSet

41、组件。DataSourcc组件负责把从DataSet组件中接收数据并提供给DataControl类组件,把被修改的数据经DataSet类组件传送给3DE。所有的DataAccess类组件均为运行时不可见组件,隐藏在用户界面之后,而由DataControl类组件显示数据,并提供浏览、修改数据的工具。数据维护窗口由两个DataAc组件、若干个Table组件和DataSource组件、若干个DataControl组件以及几个LA-BEL组件组成。其中Table组件的DataBaseName属性设置为BDE中定义的别名RSGLDA厂TableName属性设置为D:rsgl rsgl. db, Acti

42、ve属性设置为True; DataSuece组件的DataSet域设置为Table组件的名。3.4.3 建立数据查询窗体DEPHI 5. 0设置了TQuery组件来完成查询工作,支持用户使用SQL语言对系统建立的数据库进行查询操作。DE-PHI 5. 0的应用程序中,有多种方法编写和执行SQL查询。一种是静态方法,即把TQuery构件的SQL属性设置为SQL命令文本。这样,当执行应用程序时,DEPHI执行所设置的查询,如果把TQuery构件通过TDataSet构件与数据控制构件相连,查询结果显示在与TQuery构件相连接的数据控制件中,静态查询只适合查询条件固定的查询任务;另一种是动态方法,既

43、在程序的运行过程中通过改变SQL属性以完成不同的查询任务。1 打开一个新的设计窗体,设置其Name属性为FORM-CX, Caption属性为”数据查询”;在窗体上放置一个组合框,其Caption为”设置查询条件”;2在组合框中放入三个Label组件,两个(:omboBox组件,两个Button组件和一个Edit组件。三个Label组件的Caption属性分别为”选择查询字段”,”选择查询关系”,”输入查询内容,;一个(.omboBox组件的It二域为可供用户选择的查询字段等;另一个ComboBox组件的Items域为可供用户选择的查询关系,等;Edit组件用来接收用户所输人的所要查询的相应字

44、段的内容;3在窗体上放置一个TQuery组件,一个DataSource组件。设置TQuery组件的DataBaseSource域为RSGLDA, Data-Source组件的DataSet域设置为Queryl ;组合框中的两个 Button组件的Caption属性分别设置为”确定”和”取消”,表示以用户所选择的查询条件开始查询和取消刚才所输人的查询条件,开始新的查询工作;双击确定按钮,进人确定按钮事件响应对话框,键人下列代码完成把用户所做的选择转化为相应的SQL语句,然后设置TQuery组件的SQL属性,并执行,从而完成查询工作。 4在窗体上放置一个TDBGrid组件,一个TDBNavigat

45、or组件,设置TDBGrid组件的taSource属性为DataSourcel,设置TDBNavigator组件的DataSomce属性为DataSalrcel,这两个组件用于把用户的查询结果显示输出;5在窗体上放置一个TButton组件,设置其caption属性为”返回”,用以退出查询模块,返回主窗体,双击”返回”按钮,进人”返回”按钮的事件响应程序编辑框,输人如下代码: procedure TFomxx. Button6Click(Sender: TObject) ; begin fomicx. close; fomunain. show; end;3.4.4数据库的动态链接1.保存数据库

46、配置信息配置信息的界面如图3-5,在此界面上添加了Table控件,不需要设置它的任何属性. 图3-5 配置信息界面2登陆系统信息登陆界面如下图3-6,在此界面上也添加了Table控件,不需要设置它的任何属性,最好设置此Table控件同配置信息界面中Tabe控件名称。图3-6 登录界面35系统功能的实现3.5.1图形装入在实现中我们首先遇到的问题是如何将图形装入数据库。但在DEPHI的DBD中并没有提供直接装入图形的方法。并且还得考虑在执行中对图形进行动态的装入与更换。因此,必须用程序来实现图形的装入。为了将一个指定的用BMP文件表示的图形装入GRAPHIC字段,采用的方法是:利IMAGE组件装

47、入图形,并拷贝到剪贴板,然后再拷贝到DBIMAGE组件。由于DBIMAGE中的图形与TABLE中的 GRAPHIC字段有联系,所以此后只要对TABLE的当前记录进行更新即实现了图形装入。设在字符串型的变量FG中存放BMP文件名,对IMAGE,DBIMAGE及TABLE组件所建立的实例分别为IMAGE 1,DBIMAGE1,TABLE I,则完成上述过程的相应程序为: imagel. picture. loadfromfile(fg); imagel. update; clipboard. assign (imagel. picture); table 1. edit; dbimagel. past rfromclipboard;tablel. post;3.5.2出错的捕获与控制为了提高系统的交互性与运行时的安全可靠性,系统对各类运行错误进行捕获与控制,出错捕获是使用OBJECT PASCAL的TRY. EXCEPT.结构实现的。例如,在题库备份中,通过执行BATCHMO

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号