




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号 学校代码 2645 udc 密级 学 号 200320630103 景德镇陶瓷学院信息工程学院毕业论文机房管理系统指导教师丽 申请学位级别 专业名称 可视化程序设计 论文提交日期 论文答辩日期 2006-5-25 学位授予单位和日期 答辩委员会主席 论文评阅人 2006年 5月8日机房管理系统的设计和实现摘 要随着 计 算 机技术在现代化教学系统中的广泛应用,以及我国大专院校规模的不断扩大和教务工作的日趋繁琐,计算机智能排课系统已成为许多学校教务安排过程中不可缺少的一部分。面向校园公共机房的排课系统,可以看作是教师、班级、学生、机房等教学中不可缺少信息的一个集中的备案、管理、分配系统,它是计算机信息管理在学校教学活动中的又一个重要的应用。由于机房的特殊性,要在教师无课时间、班级无课时间、机房无课时间中进行最优匹配,形成机房课表,因此,本系统的开发可以说具有我们将此系统与国内现有的原有的机房管理系统进行了比较,分析了它的技术可行和经济可行性。同时进行了市场调查,进行了必要的需求分析,最终确定有必要设计这个机房管理系统。本系统的开发主要包括后台数据库的建立和维护以及前端应用程序的设计两个方面。对于数据库要求实现数据的一致性、完整性和安全性,而对于应用程序则要求功能完善、简洁易用。经过分析,我们决定前台使用borland公司的代表性开发工具delphi。后台使用sql server2000。并且采用ado连接数据库。众所周知,delphi开发的应用程序(尤其是数据库应用程序)代码是经过全编译的,以编译效率高、运行速度快而闻名。利用delphi提供的面向对象开发思想和各种优秀的数据库对象,我们能在最短的时间内开发出系统原型。然后对原型系统进行需求迭代,不断改进和修正,最终开发出满足需要的机房管理系统。关键字:商场管理系统;delphi;sql server2000;ado目录机房管理系统的设计和实现2摘 要2第一章可行性研究51.1项目编写目的51.2项目背景51.3项目可行性评估51.3.1技术可行性评估51.3.2经济可行性评估6第二章 需求分析72.0系统需求72.1要求特点722数据结构特点7第三章 系统设计93.0系统体系结构93.1数据库设计93.2系统功能描述103.3排课管理113.4调停课管理113.5系统维护123.6信息查询123.7课表打印123.8 系统实现13第四章 详细设计及编码154.1引言154.2开发工具选择154.2.1 数据库后台支持164.2.2 ado概述(数据库连接方式)174.3数据库详细设计184.4系统模块化设计21441系统主界面设计21442排课管理设计224.4.3 预约管理设计27444调课管理设计28445停课管理设计32446机房信息设计35第五章 系统测试385.1什么是软件测试385.2软件测试的目标与方法385.3模块测试395.4集成测试39第六章 测试分析40总结41参考文献41附录1:delphi数据库编程42附录2:ado数据访问组件介绍43附录3:系统使用说明书44致谢45第一章可行性研究1.1项目编写目的随着社会的快速发展,计算机科学技术的日趋完善,人们传统的思想观念和生活方式开始改变,一切向着高效率发展,各个高校越来越注重对学生的实践动手能力,特别是计算机专业的学生,这样以来,增加了排课管理员的负担,因此,开发一个完善的管理系统,是非常有必要的,但是由于资源缺乏和交付时间限制的困扰,使得开发工作变得比较困难,可行性研究的目的就是为了解决这问题。1.2项目背景 随着计算机科学技术的迅速发展,计算机早已经溶入人们的生活以及各个领域。当然,高等教育院校对这个方面担任着任重而道远的工作,因此,各个高校对学生的动手实践能力的培养更加的注重。然而,各个高校的计算机机房排课问题,也给管理人员增加了工作负担。机房排课管理是管理人员重要而繁琐的工作,通过我们的实际调查发现,如果利用计算机来开发一个完善的管理系统,就会为管理人员减轻很多负担。所以,我们决定开发此机房管理系统。该系统大体分为四大模块:系统维护、排课管理、调停课管理、信息查询以及课表打印模块。1.3项目可行性评估1.3.1技术可行性评估根据现有的技术,采用delphi 7.0+ sql server 2000+ ado技术完全可以高效、快速地开发出该系统。1.3.2经济可行性评估由于采用delphi,其rad(rapid application development)开发方式能为我们尽可能的缩短开发周期,节约系统的开发费用,避免人力、物力的浪费。参照其他信息管理系统,界面上完全可以实现与用户的良好交尽可能地减少让用户难以操作的交互方式。 第二章 需求分析2.0系统需求始资料特点(1)部门分类:学校包括多个系和分院,如科技艺术分院,机电学院、材料工程系、计算机系等,而每个系又分为许多专业,每个专业又分为不同的班级;(2)课程分类:包括计算机基础课、计算机制图课、毕业设计、临时性培训课程等;(3)上机性质分类:按课程的类别有“计划”、“设计”、“培训”、“自由”等,如按教学计划安排的课程上机性质为计划;毕业设计的课程上机性质为设计;临时性培训的课程为“培训”,学生计划外自费上机时性质为自由。2.1要求特点由于机房上课的特点,故排课时以2个学时为一个时间单位,将一天的上机时间划分为6个时段,即1-2节,3-4节,11-12节。另外,机房上机不同于教室上课,一个机房可以同时安排多门课程,这就需要按班级人数来严格控制机位,暂时排不满的机房在同一时段可以继续安排其他课程。22数据结构特点 课程、教师、机房、学生四者之间的对应关系在同一上机时段内的相互关系用e-r图表示,如图1所示, 图1-1 课程、教师、机房、学生相互关系e-r图由图可看出,一名教师可以占用多个机房,而一个机房内可供多个教师上机辅导;同样,对于课程来说,一门课程可能占用多个机房,而一个机房内可允许多门课程同时上机。与在教室上课不同的是,在机房一个教师可以同时辅导多门课程的上机实验。第三章 系统设计3.0系统体系结构排课系统的操作对象分为排课管理员、实验室值班员以及普通用户(包括一般教师、学生等),级别不同,可操作的项目也不同,其系统逻辑模型,如图2所示。图2 系统逻辑模型3.1数据库设计(1)排课计划表:记录排课的信息,是该系统最重要的数据表,由于要记录的内容较多,如果用一个表来存放信息,将产生很大的数据冗余,故将排课计划表分为两个表:排课计划主表和排课计划子表,主表用来记录每门上机课程的基本信息,如计划编号、上课教师、课程名称、上课班级、上机人数、计划学时、课程代码等;子表则存放每门实验课程的具体机房安排,如计划编号、周次、星期、节次、所用机房、上机人数等,排课主表与子表通过计划编号相关联,两者是一对多的关系,如图3所示;图3 排课主表与子表(2)院系表:记录全院有上机课程的院系,字段有:院系编号、院系名称等;(3)机房信息表:记录机房的信息情况,字段有:机房编号、机房名称,机房号,机位数,可用机位数,已用机位数,开始周次以及结束周次等;(4)用户信息表:记录用户的基本信息,有用户编号、用户登陆名、用户密码、用户注册时的提示问题以及问题答案等;(5)机房信息子表:记录机房信息情况,有机房编号,机房地点等;3.2系统功能描述系统主要功能模块,如图4:图4 系统主要功能模块 3.3排课管理(1)预约登记:教师从教务处拿到上机计划书后到排课管理员那里申请排课,排课管理员按上机计划书将排课信息录入计算机保存到排课计划主表中;(2)排课:操作员根据机房使用情况,指定某课程在某时间内的上课机房,并在同一页面内可以查询机房的使用情况和空余情况以及已排课情况;排课时,可以先“预排”, 若预排成功,则可以排课,否则不予排课。也可以直接排课,如果排课条件不满足,系统会自动显示预排课的结果以及不满足条件的原因。此功能仅限于当排课人数与机房机位数相差无几时使用,如果排课人数远远超出机房机位数而进行强制排课,会导致上课时出现混乱状况。3.4调停课管理 (1)调课:排好的课程可能由于多种原因而进行调整,引起调课的原因主要有:机房的调换和上课时间的调整,当新调整的机房或时间段空余机位不足时,提示操作员是否要执行“调课”;(2)停课:将已排好的某些课程取消,并恢复机时。3.5系统维护(1)修改机房信息:主要是可用机器的数量增加或减少,可用机房的增加或减少;(2)初始化周次:每学期开始排新课时,必须要对本学期的周次、开始时间进行确认;(3)授权管理:增加或删除使用本系统的用户,对用户进行授权。(4)数据库备份:为防止数据的丢失,对整个学期的数据进行备份是必要的。(5)数据库恢复:对已经备份的数据库数据进行恢复。3.6信息查询(1)排课信息查询:可以查看已经排完课的信息进行查询,可以按周次、星期和节次条件查询。(2)机房信息查询:主要是对各个机房的排课情况,并根据排课周次查询。(3)教师信息查询:主要是对教师安排的上机实验情况,进行查询。3.7课表打印(1)按教师打印:首先,输入要查询的教师姓名,点击查询按扭,然后,单击打印按扭,进行打印。系统会把该教师的所有上机实验全部打印。(2)按机房打印:首先,选者机房地点,机房号,单击打印按扭,进行打印,系统会把该机房在本学期的所以上机实验课程,全部打印出来。(3)按周次打印:查询所要的周次,以及所在的机房地点,机房号,打印出该周次的课程安排表。3.8 系统实现(1)排课过程算法实现用n-s流程图表示,如图5所示。图5 排课过程n-s流程图查看机房的以排课信息设置开始周次,结束周次,星期,节次以及指导教师等该时间已排课排课失败有足够的机位数提示操作员机位不足成功提示本次排课信息写入排课子表(2)调课过程实现查询按周次查询按教师查询按机房查询显示记录在textbox中输入所要调课的排课编号查询失败显示新窗体进行调课(与排课相似)调课窗体排课编号第四章 详细设计及编码4.1引言详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。在概要设计已经确定了软件系统的总体结构,给予了系统中各个组成模块的功能和模块间的联系。详细设计阶段主要是考虑“怎样实现”这个系统,给出各个模块的详细过程性描述。4.2开发工具选择随着计算机的日益普及和网络的发展,数据库的应用范围越来越广,数据库应用的功能也越来越强,因此编写数据库应用程序的难度日益加大。目前,用于数据库的开发工具更是层出不穷,包括delphi、 foxpro for window、 borland c+ builder、 power builder 、visual basic等等。要从这么多的开发工具中选出适当的数据库开发平台不是一件很容易的事。其中delphi是borland公司推出的应用程序开发工具,它具有功能强大、易于学习和使用、编程效率高和易于调试等特点。delphi是可视化应用编程开发环境、面向对象编程语言object pascal、快速编译器和数据库编程工具等的完美结合。delphi是最流行的数据库应用程序的开发工具之一,它除了具有简单易学等特点外,还具有强大的数据库操作功能。delphi本身提供了强大的数据库访问功能,用户可以使用它提供的数据控制项和资料存取对象,非常方便的对数据库进行增加、删除、修改、查询、统计等常规数据库操作。除此之外,它还支持实体完整性,具有一个功能非常强大的商业数据库应用程序所不可缺少的事务处理能力。特别是delphi7在原来的基础提供了新的集成于整个开发环境的可视化数据库工具、新的报表设计器和新的资料访问接口ado等,使得数据库应用程序的开发更加方便,所开发的产品也更加强壮。delphi在数据管理上是有效而且可靠的。建立下一代商务软件的应用程序开发人员被delphi吸引是有其原因的。使用delphi,我们可以开发软件操作有类型的桌面数据库,如paradox、 dbase或 ms access。使用delphi,我们也可以获得c/s的解决方案。delphi自带几十个预先建立的数据库组件,提供可视化的编程环境包含集成的代码编辑器、数据库表单向导、加速可浏览的数据库表单的创建、数据模块设计器用于多个表单间的数据访问共享。还有其他几个delphi提供的数据库专用工具也能加速代码的生成和降低编程的难度。基于以上这么多原因,我们决定选用delphi7作为此系统的开发工具。4.2.1 数据库后台支持数据库按所在的物理位置的不同,可分为本地数据库和远程数据库两种。本地数据库位于本机上,如paradox、 dbase、 foxpro、 access等数据库系统,远程数据库指数据库服务器位于非本机上,可以是局域网内的另一台计算机上,也可以是广域网上的一台计算机上。目前用的比较多的是oracle 、informix、 sybase 、sql server等数据库系统。由于本地数据库位于本机上,访问速度比远程数据库系统要快,但它不可能支持多用户的访问,一般本地数据库作为小型和非共享方式的数据应用,远程数据库往往能支持海量数据处理,并能够通过网络实现数据共享和并行处理。大部分远程数据库系统都可以把数据分布在不同地方的多台计算机上。我们比较熟悉的数据库系统有access和sql server,虽然access实现比较简单,而且使用也比较普遍;由于sql server的高性能和方便、易用的用户界面,它很快就在市场上取得了成功。2000年,sql server 2000 面市。sql server 2000的特点体现在如下几个方面:(1) 与internet的紧密结合(2) 可扩展性和可用性(3) 企业级数据库(4) 简单、友好的操作方式(5) 数据仓库支持该系统是网络版的商场管理系统, 所以我们选择远程数据库,又因为sql server 2000具有以上五大特点,使用也比较方便,理所当然就选它了。4.2.2 ado概述(数据库连接方式)delphi 7中访问数据库的方式有很多种:直接访问、通过odbc访问、通过内嵌方式访问、通过dbexpress访问数据库和通过ado方式访问数据库。(1) 直接访问 delphi可以直接访问paradox 和dbase这两个桌面型的数据库系统。(2) 通过odbc访问 访问paradox 和dbase以外的数据库,通常是通过odbc来实现的。通过odbc访问数据库时,首先要使用windows的控制面板或delphi的数据库引擎bde建立odbc数据源。(3) 通过内嵌方式访问 delphi 7中可以不通过odbc,而以内嵌方式访问数据库系统。这需要使用数据库别名来指定数据库。需要说明的两点是,以该方式访问数据库需要 在安装delphi 7时指定安装sql link;query控件的sql语句不能以分号结尾。(4) 通过dbexpress访问数据库dbexpress是一组存取各种不同关联资料库的原生驱动程序,以及以组统一的组件。(5) 通过ado方式访问数据库 和delphi 6一样,delphi 7也支持客户端程序直接访问ado数据库的能力。基于ado技术的应用程序可以是单层或多层的,其情况取决于使用的数据库系统。例如:如果使用ado访问的是microsoft sql server的程序是双层的,因为基于microsoft sql server数据库系统,大多数都是在一台专门的数据库服务器上,应用系统只能远程访问它。如果是使用ado访问本地数据库(例如,dbf数据库或paradox数据库)的应用系统,则总是单层的。我们之所以采用ado技术,是因为它采用直接访问技术,采用ado主要有3个优点,第一,速度快占用内存小,主要因为它直接使用操作系统的api函数。第二,它支持目前最为热门的web应用开发。第三,它支持rds(remote data service),即通过客户端程序直接从远程服务器中把数据读取到客户端,待客户端处理完这些数据后,再将修改后的数据返回远程服务器。基于ado的以上这些特点,我们选用它作为连接数据库的方式。在ado的应用程序中,数据库是有ado数据存储连接访问的。所以要访问数据库,程序必须首先连接到数据存储。可以使用ado控件,也可以共享由ado connection控件建立的连接来访问到数据存储。如果应用程序连接到数据存储,数据集控件就可以与ado连接控件关联,访问数据库中的数据表。基于ado技术的控件共有7个:tado connection、tado command、trds connection 、tado dataset、tado table、tado query、tado storedproc。 4.3数据库详细设计431 建立数据库 用microsoft sql server 2000建立数据库为jfgl。432 建立数据表(1)机房信息表1(p_jf_info1)字段名类型长度备注jf_idchar10机房地点jfidchar10机房编号(2)机房信息表2(p_jf_info2)字段名类型长度备注jf_idchar10机房地点jf_namechar50机房名称jf_haochar10机房号jfidchar10机房编号jiweishuint4机位数keyongshuint4可用机位数kepaikebit1是否可以排课keyuyuebit1是否被预约kekongweiint4剩余空位数yystartchar8预约开始时间yyfinishchar8预约结束时间yshiyongint4是否可以排课(3)预约表(t_pk_main)字段名 类型长度备注yyidint4预约编号yyteacherchar20预约教师yycourcechar50预约课程yuanxichar50院系yyclassint4预约班级yyrenshiint4预约人数finishbit1是否已排完课xueshiint4学时(4)排课表(t_pk_sub)字段名 类型长度备注formzhoucichar50周次tozhoucichar50结束周次fromxingqichar20星期jiecichar50节次jifangchar20机房renshuint4上机人数jf_idchar10上机地点zhouqichar50周期teacherchar20教师yyidint4预约编号courcechar50上机课程jfidint4机房编号(5)学院信息表(t_pk_xyinfo)字段名 类型长度备注yxidint4院系编号yuanxichar50院系(6)用户表(yonghubiao)字段名 类型长度备注idint4自动编号yonghumingchar10用户名mimachar10密码questionvarchar50提示问题answercharchar50答案leibieint4类别4.4系统模块化设计441系统主界面设计a. 窗体说明:当用户被验证后,进入主窗体,根据系统权限,设置该用户所能行使的操作,并且在状态栏显示系统时间,用户权限。 b.主要代码:procedure tfrmmain.timer1timer(sender: tobject); /获得系统时间beginstatusbar1.panels.items4.text:=timetostr(time);end;procedure tfrmmain.formcreate(sender: tobject); /获得登陆用户权限,级别,系统日期beginif identify=系统管理员 thenbegin statusbar1.panels.items0.text:=欢迎使用机房管理系统;statusbar1.panels.items1.text:=用户名称:+pubuser;statusbar1.panels.items2.text:=级别:+identify; statusbar1.panels.items3.text:=datetostr(now);endelse begin/操作者应有的权限 statusbar1.panels.items0.text:=欢迎使用机房管理系统; statusbar1.panels.items1.text:=用户名称:+pubuser;statusbar1.panels.items2.text:=级别:+identify; statusbar1.panels.items3.text:=datetostr(now); /设定其相应的菜单为false状态end;end;procedure tfrmmain.e1click(sender: tobject);beginif(application.messagebox(确认退出系统吗?,提示,mb_okcancel)=1 thenapplication.terminate;end;442排课管理设计 a.窗体说明:该窗体列出了所有实验机房的详细信息,排课人员可以根据机房的使用情况和已排课信息,以及根据所上课程的硬件要求进行合理的排课; b:该主要代码:procedure tfrmdisplay.combobox1change(sender: tobject);beginadoquery1.close;adoquery1.sql.clear;adoquery1.sql.add(select * from t_pk_sub where jfid=+combobox1.text+);adoquery1.open;edit2.text:=adoquery1.fieldvaluesfromzhouci;edit3.text:=adoquery1.fieldvaluestozhouci;edit4.text:=adoquery1.fieldvaluesfromxingqi;edit5.text:=adoquery1.fieldvaluesjf_id;edit6.text:=adoquery1.fieldvaluesjifang;edit7.text:=adoquery1.fieldvaluesjieci;edit8.text:=adoquery1.fieldvaluesrenshu;edit9.text:=adoquery1.fieldvalueszhouqi;dbgrid1.datasource:=datasource1;end;c:窗体说明:在排课时,系统会提示,可安排的人数以及已经安排的开始时间和结束时间等相关的信息,是否有排课冲突,如果排课冲突或人数超过上限,将结束本次排课。每次排完课后,点击刷新按扭,系统的编号栏中将自动加一。但单击实验地点的下拉列表框时,系统会自动绑定该实验地点的所以机房号。以及单击预约编号时,也同样会绑定教师和实验课程,如果该预约编号已经排完课程,系统将提示该预约编号已经排完课,结束本次排课。d主要代码:(主要是解决排课冲突问题)for i:=0 to adoquery1.recordcount-1 dobeginif (combobox1.text=adoquery1.fieldvaluesfromzhouci) and (adoquery1.fieldvaluestozhouci=combobox3.text) then if (adoquery1.fieldvaluesjf_id=combobox7.text) then if(inttostr(adoquery1.fieldvaluesjifang)= combobox8.text) then if (inttostr(adoquery1.fieldvaluesfromxingqi)=combobox2.text) then if (inttostr(adoquery1.fieldvaluesjieci)=combobox6.text) then beginshowmessage(在+combobox7.text+楼,+combobox8.text+机房,星期+combobox2.text+,节次 +combobox6.text+,已经排满课);exit;end;adoquery1.next;end;for i:=0 to adoquery1.recordcount-1 dobeginif (combobox1.text=adoquery1.fieldvaluesfromzhouci) and (adoquery1.fieldvaluestozhouci=combobox1.text) then if (adoquery1.fieldvaluesjf_id=combobox7.text)thenif(inttostr(adoquery1.fieldvaluesjifang)= combobox8.text) then if (inttostr(adoquery1.fieldvaluesfromxingqi)=combobox2.text) then if (inttostr(adoquery1.fieldvaluesjieci)=trim(combobox6.text) then beginshowmessage(在+adoquery1.fieldvaluesfromzhouci+adoquery1.fieldvaluestozhouci+,已经排满课);exit;end;adoquery1.next;end;for i:=0 to adoquery1.recordcount-1 dobeginif (adoquery1.fieldvaluestozhouci=combobox3.text) and (combobox3.text=adoquery1.fieldvaluesfromzhouci)then if (adoquery1.fieldvaluesjf_id=combobox7.text)thenif(inttostr(adoquery1.fieldvaluesjifang)= combobox8.text) then if(adoquery1.fieldvaluesfromxingqi =combobox2.text) then if (inttostr(adoquery1.fieldvaluesjieci)=combobox6.text ) then beginshowmessage(在+adoquery1.fieldvaluesfromzhouci+到+adoquery1.fieldvaluestozhouci+,已经排满课);exit;end;adoquery1.next; end;for i:=0 to adoquery1.recordcount-1 dobeginif (adoquery1.fieldvaluesfromzhouci=combobox1.text) and (combobox3.text=adoquery1.fieldvaluestozhouci) then if (adoquery1.fieldvaluesjf_id=combobox7.text)then if(inttostr(adoquery1.fieldvaluesjifang)= combobox8.text) then if (inttostr(adoquery1.fieldvaluesfromxingqi)=combobox2.text) then if (inttostr(adoquery1.fieldvaluesjieci)=trim(combobox6.text) then begin showmessage(在+adoquery1.fieldvaluesfromzhouci+到+adoquery1.fieldvaluestozhouci+,已经排满课);exit;end;adoquery1.next;end;4.4.3 预约管理设计a:窗体说明: 在窗体目录树上,可以预朗到已经预约的课程,已经各个院系的情况,在此可以添加预约课程。添加可以在目录树中,单击鼠标右键,然后,点击“添加”;也可以在dbgrid中,点击“+”号,输入信息完毕后,再单击确定,系统结束本次预约。本系统最好是在dbgrid中进行添加,可以提高系统的速度。b:主要代码:adotable1.edit ;adotable1.fieldbyname(yyid).asinteger:=strtoint(dbedit1.text);adotable1.fieldbyname(yyteacher).asstring:=dbedit2.text;adotable1.fieldbyname(yycource).asstring:=dbedit3.text;adotable1.fieldbyname(yuanxi).asstring:=dbcombobox1.text;adotable1.fieldbyname(yyrenshu).asinteger :=strtoint(dbedit4.text );adotable1.fieldbyname(yyclass).asstring:=dbcombobox2.text;adotable1.fieldbyname(xueshi).asinteger :=strtoint(dbedit5.text);adotable1.post;treeview1.items.beginupdate ;showmessage(添加成功!);end;444调课管理设计a:窗体说明: 该系统可按类别查询你要进行调课的上机时间,上机地点以及按教师名等信息进行查询,然后在文本框中输入该实验的排课编号,单击确定。如果用户输入的排课编号为空或不存在,系统将会提示输入的排课编号不能为空或该编号不存在的信息。单击“确定”按扭后,系统出现另一个窗体,然后,进行必要的调课。b:主要代码:adoquery1.close;adoquery1.sql.clear ;adoquery1.sql.add(select*fromt_pk_subwherejfid=+edit1.text+); adoquery1.open; if edit1.text= then begin application.messagebox(请你输入排课编号!,提示,mb_ok); edit1.setfocus ; exit; end; if edit1.textadoquery1.fieldvaluesjfid then begin application.messagebox(排课编号不存在!,提示,mb_ok); exit; end; frmbianjie:=tfrmbianjie.create(application);frmbianjie.edit1.text:=adoquery1.fieldvaluesjfid;frmbianjie.edit2.text:=adoquery1.fieldvaluesfromzhouci;frmbianjie.edit3.text:=adoquery1.fieldvaluestozhouci;frmbianjie.edit4.text:=adoquery1.fieldvaluesfromxingqi;frmbianjie.edit5.text:=adoquery1.fieldvaluesjieci;frmbianjie.edit6.text:=adoquery1.fieldvaluesjifang;frmbianjie.edit7.text:=adoquery1.fieldvaluesrenshu;frmbianjie.edit8.text:=adoquery1.fieldvaluesjf_id;frmbianjie.edit9.text:=adoquery1.fieldvalueszhouqi;frmbianjie.edit10.text:=adoquery1.fieldvaluesteacher; frmbianjie.showmodal;c窗体说明: 该系统可以按调课类型进行调课,分为三种:时间调课,机房调课,同时调课,用户点击单选按扭时,系统会提示只能修改那些信息,并且把光标移至该文本框。系统还会检查是否存在排课冲突,如果存在,系统会提示排课冲突信息,结束本次修改。如果你想停止调课,可以直接单击“退出”按扭,直接退出本次操作。d主要代码:保存按扭的单击事件跟排课设计窗体的一样。445停课管理设计 a:窗体说明: 该系统分为教师停课和机房停课,根据不同的查询条件,查询出该条记录。如果记录很多,用户可以利用“上一条”、“下一条”按扭,查找所要停课的记录,然后,单击删除。如果你想停止停课,可以单击“退出”按扭,直接退出停课管理窗体。b主要代码: procedure tfrmtingke.combobox2change(sender: tobject);var i:integer;beginadoquery1.close;adoquery1.sql.clear;adoquery1.sql.add(select * from t_pk_sub where jf_id=+combobox2.text+);adoquery1.open;for i:=0 to adoquery1.recordcount-1 dobegincombobox3.items.add(adoquery1.fieldvaluesjifang);adoquery1.next;end;if adoquery1.fieldvaluesjifang=null thenbeginapplication.messagebox(没有该机房的信息,提示,mb_ok);exit;end;combobox3.text:=adoquery1.fieldvaluesjifang;end;procedure tfrmtingke.combobox3change(sender: tobject);beginadoquery1.close;adoquery1.sql.clear;adoquery1.sql.add(select * from t_pk_sub where jifang=+combobox3.text+);adoquery1.open;adoquery1.execsql;adoquery1.active:=true;end;procedure tfrmtingke.combobox4change(sender: tobject);begin adoquery1.close;adoquery1.sql.clear;adoquery1.sql.add(select * from t_pk_sub where +combobox3.text+=fromzhouci and tozhouci=+combobox3.text+);adoquery1.open;adoquery1.execsql;adoquery1.active:=true;end;446机房信息设计a窗体说明: 该窗体列出所以实验机房的信息,系统可以修改信息,增加信息和删除信息。用户可以在目录树中,单击鼠标右键,然后,选者,“添加”,也可以在dbnavigator中,选者“+”按扭,直接在dbgrid中进行添加信息操作。单击“刷新“按扭时,目录树,可以刷新刚添加的机房信息。b主要代码:procedure tfrm_jf_info.loadbx(); var tmptree:ttreenode; strsql:string;begin adoquery1.sql.clear; adoquery1.active :=false; strsql:=select * from p_jf_info1 ; adoquery1.sql.add(strsql); adoquery1.active :=true; adoquery1.first; treeview1.items.beginupdate; while not adoquery1.eof do begintmptree:=treeview1.items.add(treeview1.selected,adoquery1.fieldvaluesjf_id); tmptree.imageindex:=0; adoquery1.next; end; treeview1.items.endupdate ; adoquery1.active:=false;end;procedure tfrm_jf_info.loadby(); var strclass:string; tmptree:ttreenode; k:integer; j:integer; strsql:string;begin j:=treeview1.items.count -1; treeview1.items.beginupdate; for k:=j downto 0 do begin strclass:=trim(treeview1.itemsk.text) ; adoquery2.sql.clear; adoquery2.active :=false; strsql:=select * from p_jf_info2 where jf_id=+strclass+; adoquery2.sql.add(strsql); adoquery2.active :=true; adoquery2.first; while not adoquery2.eof do begin tmptree:= treeview1.items
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45441-2025温室气体产品碳足迹量化方法与要求塑料制品
- 湘豫名校联考2024-2025学年高三下学期第二次模拟考试语文试卷(图片版无答案)
- 【道路运输企业主要负责人】理论考题及答案
- 2025个人向个人借款的合同
- 2025农田租赁合同书下载
- 2025租房合同模板下载3
- 高校毕业生创业扶持政策全新实施方案
- 长春建筑学院《铁路行车织》2023-2024学年第二学期期末试卷
- 证券从业资格考试题库与答案(A卷)
- 九州职业技术学院《工程项目成本规划与控制》2023-2024学年第二学期期末试卷
- 瑞幸加盟合同范本
- CJJ 122-2017 游泳池给水排水工程技术规程
- 【人教部编版】五年级语文下册第13课《人物描写一组 摔跤》教学课件
- 读书分享读书交流会《四世同堂》
- 2024年人教精通版四年级下册英语期末专项复习-阅读理解
- 中医推拿基础培训课件
- 防电信诈骗安全教案
- 产品履历表完
- 保健食品备案产品可用辅料及其使用规定
- 肺癌伴胸腔积液护理查房
- 健康管理中的健康教育与健康促进研究
评论
0/150
提交评论