排课管理系统
- 格式:doc
- 大小:205.00 KB
- 文档页数:50
高校综合教务管理系统功能详解in 教务管理, 教务管理系统, 教学管理系统高校综合教务管理系统(JWGL )是一个大型复杂的计算机网络信息系统,采用基于浏览器/ 服务器(B/S ),客户端/ 服务器(C/S )混合的应用体系结构来建设高校网络教务管理系统,使高校教务管理真正实现远程办公、异地办公。
满足各类高校现在和将来对信息资源采集、存储、处理、组织、管理和利用的需求,实现信息资源的高度集成与共享,实现信息资源的集中管理和统一调度。
为各级决策管理部门提出准确、及时的相关信息和快捷、方便、科学的决策分析处理系统;为信息交流、教务管理提供一个高效快捷的电子化手段;最终达到进一步提高各级领导科学决策水平,提高各院系、各部门管理人员管理水平与办公效率,减轻工作负担的目的。
系统简介随着我国高校教学体制改革的发展,更加体现出以人为本的教育方针政策。
学生自主地选择专业及专业方向、课程的选修机制、实验预约、成绩审核、学分制等管理方式的改革向传统的管理软件提出了新的挑战。
基于这种广泛的需求。
在充分综合各高校特点的前提下,在多年深入研究的基础上,推出了一整套能够适应新的教学体制、能够最大程度满足高校现代化管理要求的教务管理系统。
教务管理涉及到学生从入学到毕业的全过程管理,包括学籍管理、教学计划、开课/ 排课、选课、成绩管理、实验管理、毕业设计及教学质量监控等多个环节。
“高校综合教务管理系统”包括系统工具、教学资源、学籍管理、教学计划、开课管理、智能排课、选课、考务、成绩管理、毕业设计、开放性试验室、毕业资格审查,毕业环节管理,教学质量监控、教材管理等十余个子系统,适用于综合性大学、学院、专科、中专及职业学校,能够完成学年制、学年学分制、完全学分制学校教务管理部门对学生从入学到毕业离校的全过程管理。
高校教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心和基础。
面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,随着计算机及通讯技术的飞速发展,高等教育对教务管理工作提出了更高的要求。
排课管理系统建设方案一、项目背景记得那些年里,学校的课程安排总是让人头疼。
老师们为了排课,不惜熬夜,甚至有时候还要吵架。
这就是我们的项目背景:一个急需改善的排课现状。
二、项目目标我们的目标很简单,就是通过建立一个高效、智能的排课管理系统,让老师们从繁琐的排课工作中解放出来,让他们有更多的时间去关注教学质量和学生的成长。
三、系统架构1.前端设计前端设计要简洁、易用。
就像那些年流行的APP一样,要让老师们一眼就能看懂,上手就能用。
考虑到老师们年龄层次的不同,我们采用扁平化设计,降低操作难度。
2.后端设计后端设计要稳定、高效。
就像那些年我们一起开发的系统一样,要能够承受大量的数据请求,保证系统运行稳定。
我们采用分布式架构,提高系统的并发处理能力。
3.数据库设计数据库设计要合理、安全。
就像那些年我们一起学习的数据库知识一样,要确保数据的完整性和一致性。
我们采用关系型数据库,结合NoSQL数据库,实现数据的高效存储和查询。
四、功能模块1.排课管理这个模块是核心,就像那些年我们手动排课一样,要实现课程的自动安排。
我们可以根据老师的教学任务、学生的选课情况,自动课程表。
2.教师管理这个模块要实现对教师信息的管理,就像那些年我们熟悉的教师档案一样,包括教师的基本信息、教学任务、课程安排等。
3.学生管理这个模块要实现对学生的管理,就像那些年我们的学生档案一样,包括学生的基本信息、选课情况、成绩管理等。
4.课程管理这个模块要实现对课程的管理,就像那些年我们的课程表一样,包括课程的开设、调整、查询等功能。
5.统计分析五、实施计划1.需求分析这个阶段要充分了解学校的排课需求,就像那些年我们调研市场需求一样,收集各方面的意见,确保系统功能的完整性。
2.系统设计这个阶段要根据需求分析,进行系统架构和模块设计,就像那些年我们一起画的系统架构图一样,明确各部分的职责和关系。
3.系统开发这个阶段要按照设计文档,进行系统开发,就像那些年我们一起编程一样,攻克一个个难题,实现系统功能。
正方教务管理系统一、项目介绍正方教务管理系统是一款基于网页的管理软件,适用于学校管理部门、教师、学生和家长的各种管理需求。
系统集成了人事管理、课程管理、教务管理、学生管理等多个功能模块,为学校管理部门提供了一站式的管理解决方案。
二、系统特色1. 网络化学校管理正方教务管理系统是一款基于网络的管理软件,呈现出网络、信息化、现代化的管理模式,实现教学资源的共享和信息的实时流通,保证管理效率。
2. 细致化管理正方教务管理系统实现了对学生信息、教师信息的全面管理,并提供了准确、实时、便利的信息查询和反馈功能。
同时,学生对自己的选课情况、成绩查询和课表安排都可以进行自主管理。
3. 人性化设计正方教务管理系统以用户为中心,拥有简洁明了的操作界面和易于使用的功能模块,同时提供多种操作方式和技术支持,保证用户使用的高效和顺畅。
4. 数据安全性正方教务管理系统采用多层次的数据安全机制,保障学校各类数据的安全,并拥有灵活的权限管理和数据备份功能,以应对各种突发情况。
三、系统功能1. 人事管理模块教师和学生信息的维护和管理,课程和教师排课的安排和管理,人事信息的权限管理和备份操作等。
2. 课程管理模块包括课程计划审核、课程发布、选课管理、学生和教师的课程安排等功能。
3. 教务管理模块班级、学号、成绩、排名等学生信息的管理和查询功能,以及教师的授课情况和成绩登记、审核等功能。
4. 学生管理模块学生学籍、学业、社会实践、奖惩等信息的维护以及学生评教等功能。
四、系统优势1. 实现了学校管理部门的网络化管理,提高了管理效率,减轻了工作负担。
2. 为教师、学生和家长提供了多种信息查询和反馈途径,使用方便。
3. 可以有效地解决数据安全问题,确保学校各类数据的安全。
4. 提供了多种操作方式和技术支持,能有效解决用户使用过程中出现的问题。
五、总结正方教务管理系统是一款独具特色的学校管理软件,充分满足了学校各类信息化管理的需求,提高了学校管理的效率和水平。
《排课系统》第一章系统概述1.1系统开发背景及目的意义1。
1。
1 系统开发背景计算机的发展至今已有很长的历史了,但是真正将计算机技术应用到生活实践中来,时期还不是很长.现在社会的发展趋势越来越体现出计算机技术的重要性,许多的计算机产品,相关软件的研制开发,越来越受到人们的青睐,计算机也越来越接近人们的生活了。
将计算机技术应用到实际生活中,这一研究是现在最热门的研究课题。
作为学生接触最多的也就是教育与教学,在这一环节当中学习计算机,利用计算机相当重要,利用计算机进行网上课堂,网络学习,少去了老师和学生之间的很多不便,例如:时间上的自由选择、学生面对老师的一种紧张和窘迫、学习和解答的及时和快捷等等问题。
在计算机软件教学上都可以省去这些不必要的麻烦.计算机教学现在各大高校以及企事业单位中也已经较多的开始应用了。
运用计算机进行教学环节的管理和实践更是方便多多,省去了以前很多的麻烦手续,省去了不必要的诸多申请和批准,现在运用计算机教学来提高教学效率,提高教学质量,培养相对的办事能力,同时也锻炼了自主开发应用计算机的一种兴趣和潜力。
计算机的大容量硬盘存储,高性能高效率的CPU处理器,为现代化的教学管理提供了完备的后备力量,为用户省去了后顾之忧。
而且计算机的的功能齐全比我们人力的要快很多倍,省去了很多的人力劳动,进一步真正实现了自动化的教学和管理。
基于现代化教学和临沂师范学院实际情况的要求,开发了该院系教学管理系统.1.1。
2系统开发的目的意义随着计算机的普及和发展,人们开始利用计算机解决越来越多的实际问题,虽然现在软件的数量如雨后春笋,但依然不能满足用户的各种需要,尤其是用于学校院系教学管理方面的软件。
为了适应这个高科技的信息时代发展,有力地促进教学内容、教学方法改革的力度,满足学校的教学管理要求,实现学校教学管理低成本投入,提高办公效率。
最大限度地适应于各种软硬件环境,兼顾不同学科的教学特点,适用于不同水平用户群的通用性要求,以尽可能低廉的投入而获得尽可能高效的教学效益的经济性要求。
目录摘要 (IV)ABSTRACT ............................................... 错误!未定义书签。
1 引言 (1)1.1 问题的提出及研究意义 (1)1.2 国内外研究现状 (1)1.3 本文研究的目的和研究内容 (2)1.4 系统开发背景 (3)2 系统总体概述 (4)2.1 产品标识 (4)2.2 产品描述 (4)2.2.1系统属性 (4)2.2.2项目背景 (4)2.2.3运行环境 (4)2.3 用户特点 (5)2.4 用户约束 (5)2.5 字义缩语及专有名词定义 (5)2.6 系统开发工具介绍 (6)2.6.1JAVA简介 (6)2.6.2Java Service Page(JSP)简介 (7)2.6.3SSH(Struts、Hibernate和Spring)简介 (7)2.6.4SQLServer2005 简介 (8)2.6.5MYECLIPSE 简介 (8)2.6.6B/S模型简介 (8)3 系统需求分析 (10)3.1 系统的原始功能性需求 (10)3.2 系统非功能性需求 (11)3.2.1用户界面需求 (11)3.2.2软硬件环境需求 (11)3.2.3软件质量需求 (12)3.2.4文档编写要求 (12)3.3 可行性分析报告 (12)3.3.1必要性分析 (12)3.3.2技术可行性 (12)3.3.3管理可行性 (13)3.3.4经济可行性 (14)3.3.5社会因素方面的可行性 (15)3.3.6操作可行性 (15)3.3.7可行性分析结论 (15)3.4 系统组织和功能结构图 (16)3.4.1用户组织结构图 (16)3.4.2管理员功能结构图 (17)3.4.3教师功能结构图 (18)3.4.4学生功能结构图 (18)3.5 用户业务流程图 (19)3.5.1流程图的图形表示的意义 (19)3.6 数据流程图 (21)3.6.1流程图的图形表示的意义 (21)3.6.2系统顶级数据流关联图 (22)3.6.3系统总数据流程图 (23)3.6.4基本信息管理子系统数据流程图 (24)3.6.5排课管理子系统数据流程图 (26)3.6.6学生选课子系统数据流程图 (27)3.6.7留言管理子系统数据流程图 (28)3.7数据字典 (29)3.7.1数据项 (29)3.7.2数据流 (31)3.7.3数据存储 (32)3.7.4处理逻辑 (33)3.7.5外部实体 (34)4 系统总体设计 (35)4.1 系统总体架构 (35)4.2 系统功能时序设计 (35)4.3 系统设计标准与规范 (36)4.3.1系统开发规范 (36)4.3.2界面样式设计 (36)4.3.3输入输出设计规范 (37)4.5 系统主要模块的详细设计 (38)4.5.1系统框架设计模块 (38)4.5.2排课系统后台管理模块 (39)4.5.3排课系统前台显示 (40)5 系统数据库设计 (41)5.1 概念结构设计 (41)5.1.1E-R图实体、联系的属性说明 (41)5.2 系统逻辑结构设计 (44)5.3 系统物理结构设计 (45)5.4 系统表结构说明 (46)5.4.1系统表格清单 (46)5.4.2系统表结构说明 (46)6 系统实施 (51)6.1.1用户登录系统界面 (51)6.1.2管理员模块界面.............................................................................. 错误!未定义书签。
毕业设计<<排课管理系统>>院系______专业______班级______姓名______日期年月日目录摘要IABSTRACT II第一章引言 11.1 背景 11.1.1教师管理系统 11.2开发教师管理系统的目的和原则 31.3开发环境介绍31.3.1 开发平台 41.3.2数据库设计工具——ACCESS数据库管理系统7 第二章系统设计92.1 系统分析 92.2 系统流程和操作方式设计 11第三章系统界面设计 123.1系统界面设计以及代码分析12第四章数据库的设计304.1数据库设计304.2 数据库概念和发展 304.3系统测试与评价 38总结39致谢 40参考文献41摘要20世纪以来,社会生产力迅速发展,科学技术突飞猛进,人们进行信息交流的深度与广度不断增加,信息量急剧增长,传统的信息处理与决策的手段已不能适应社会的需要,信息的重要性和信息处理问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,特别是企业间日趋剧烈的竞争形势,一个人、一个企业要在现代社会中求生存,求发展,必须具备足够的信息和强有力的信息收集与处理手段。
对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题.排课管理系统是管理信息系统的一个典型用例.管理信息系统是一个集信息技术、经济管理理论、统计学与运筹学、数据库技术为一体的综合性系统,是一个资金技术密集型、劳动密集型、智力密集型的项目。
我国拥有广阔的市场和丰富的人才资源,有几十年的技术积累和经验积累,有一定的后发优势。
管理信息系统的创新工作既不能妄自菲薄,更不能夜郎自大。
要抓住当前网络经济兴起的有利时机,以实现我国信息技术和信息产业的跨越式发展,更好地发挥信息产业对国民经济增长的拉动作用。
开发学校排课管理系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和教师管理实践活动两者之间架设桥梁。
关键字:排课管理,管理信息系统,数据库,计算机管理第一章引言对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题.排课管理系统是管理信息系统的一个典型用例.1.1背景1.1.1排课管理系统如今随着教育事业的发展,学校对教师课程安排的复杂度的增加,一个单位,各个学科每天的课程安排以及教室资源的分配,排课工资等信息量将迅速的增加,传统的手工的处理方式已经跟不上信息爆炸般的扩增.所以开发一种可靠,高效的教师排课管理系统是很有必要的.1.2 开发排课管理系统的目的与原则排课管理系统的主要目的是服务与中小学,各高校的管理者,方便其管理本校排课信息的软件系统.其原则是做到,界面友好人性,操作简单,可靠.1.3开发环境介绍1.3.1开发平台本教师管理系统的开发平台为微软windows xp visual basic 6.0 以及微软的Access作为操作数据库.1.3.2数据库设计工具——ACCESS数据库管理系统Microsoft Access介绍:使用Microsoft Access,可以在单一的数据库文件中管理所有的信息。
在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。
如果要保存数据,请为每一种类型的信息创建一个表。
如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。
如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。
查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。
如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。
在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。
如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。
例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。
第二章系统设计2.1系统分析本排课管理系统主要由以下几大模块构成.一. 教职员入库信息.二. 排课管理三. 教职员带课查询四. 本学期课程设置五. 打印课程表六. 打印教师代课表2.2 系统流程和操作方式设计第三章系统界面设计3.1系统界面设计1.登陆界面代码分析:Option ExplicitPublic LoginSucceeded As BooleanPrivate Sub cmdCancel_Click()系统登陆主界教职员工入库信排课管理教职员工带课查本学期课程安排打印课程表打印教师带课表'set the global var to false'to denote a failed loginLoginSucceeded = FalseUnload fmStartEnd SubPrivate Sub cmdOK_Click()'check for correct passwordIf txtPassword = "password" Then'place code to here to pass the'success to the calling sub'setting a global var is the easiestLoginSucceeded = TrueMe.HidefmStart.ShowElseMsgBox "Invalid Password, try again!", , "Login"txtPassword.SetFocusSendKeys "{Home}+{End}"End IfEnd SubPrivate Sub Form_Load()Load fmStartfmStart.HideEnd Sub2.教职员入库信息界面:代码分析:Dim con As ADODB.ConnectionDim rs As ADODB.RecordsetDim qrs As ADODB.RecordsetDim slSql As StringDim i, j As IntegerDim strBak(2) As StringDim sqlStr As StringPrivate Sub Command1_Click(Index As Integer) On Error GoTo Err:Dim cn As IntegerFor cn = 0 To 2Text1(cn).Text = ""Next cnIf rs.RecordCount > 0 ThenSelect Case IndexCase 0:rs.MoveFirstCase 1:rs.MovePreviousCommand1(2).Enabled = True Command1(3).Enabled = TrueCase 2:rs.MoveNextCommand1(0).Enabled = True Command1(1).Enabled = TrueCase 3:rs.MoveLastEnd SelectdisplayInfoEnd IfGoTo ok:Err:Call dataOverok:End SubPrivate Sub dataOver()If rs.BOF ThenCommand1(0).Enabled = FalseCommand1(1).Enabled = FalseCommand1(2).Enabled = TrueCommand1(3).Enabled = Truers.MoveFirstElseIf rs.EOF Thenrs.MoveLastCommand1(0).Enabled = TrueCommand1(1).Enabled = True Command1(2).Enabled = FalseCommand1(3).Enabled = FalseElseMsgBox "Database Error", vbExclamation + vbOKOnly, "Error unknown"End IfEnd IfEnd SubPrivate Sub Command2_Click(Index As Integer)On Error GoTo errDealIf Index = 0 Or Index = 2 ThenCanSave (True)ElseCanSave (False)End IfSelect Case IndexCase 0:rs.AddNewCall toNullCase 1:j = MsgBox("你确定要删除本记录吗?", vbYesNo + vbQuestion, "删除")If j = vbYes Thenrs.DeleteCall toNullEnd IfCase 2:rs.Deleters.AddNewCase 3:If Len(LTrim$(RTrim$(Text1(0).Text))) > 0 Then'rs.AddNewFor i = 0 To 2If Len(LTrim$(RTrim$(Text1(i).Text))) > 0 Thenrs.Fields(i) = Text1(i).TextEnd IfNext irs.UpdateElseMsgBox "姓名不得为空", vbOKOnly + vbExclamation, "Error"End IfCase 4:For i = 0 To 2Text1(i).Text = strBak(i)Next iCall Command2_Click(3)End SelectExit SuberrDeal:MsgBox "database Error", vbExclamation + vbOKOnly, "error"'okEnd:End SubPrivate Sub CanSave(ok As Boolean)Frame1.Enabled = Not okFrame3.Enabled = okFor i = 0 To 4If i < 3 ThenCommand2(i).Enabled = Not okElseCommand2(i).Enabled = okEnd IfNext iEnd SubPrivate Sub Form_Load()Dim cnt As IntegerSet con = New ADODB.ConnectionSet rs = New ADODB.RecordsetSet qrs = New ADODB.Recordset'"Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=C:\WINDOWS\Desktop\dataUse.mdb"con.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\dataUse.mdb"rs.Open "select * from teacher", con, adOpenStatic, adLockOptimisticIf rs.RecordCount > 0 Thenrs.MoveFirstdisplayInfoCanSave (False)Else'new dataCanSave (True)Call Command2_Click(0)End IfEnd SubPrivate Sub displayInfo()i = j = 0For i = 0 To 2'Text1(i).Text = ""If Len(rs.Fields(i)) > 0 ThenText1(i).Text = rs.Fields(i)strBak(i) = Text1(i).TextEnd IfNext iEnd SubPrivate Sub toNull()For i = 0 To 2Text1(i).Text = ""strBak(i) = ""Next iEnd SubPrivate Sub Form_Unload(Cancel As Integer) On Error GoTo KKrs.CloseSet rs = Nothingqrs.CloseSet qrs = notingcon.CloseSet con = NothingKK:End SubPrivate Sub queryComm_Click()slSql = "select * from Teacher where cTrname = '" + Text1(3).Text + "'"qrs.Open slSql, con, adOpenStaticIf Not qrs.EOF Thenqrs.MoveFirsti = j = 0For i = 0 To 2'Text1(i).Text = ""If Len(qrs.Fields(i)) > 0 ThenText1(i).Text = qrs.Fields(i)strBak(i) = Text1(i).TextEnd IfNext iEnd Ifqrs.CloseEnd Sub3. 排课管理界面代码分析:Option ExplicitDim conn As ADODB.ConnectionDim rsTr As ADODB.RecordsetDim rsSj As ADODB.RecordsetDim i, j, sjCnt As IntegerDim ClassCode As StringDim TrChanged, ClassChanged As BooleanDim strSql As StringDim rsTrAry As ADODB.RecordsetDim rsClassAry As ADODB.RecordsetDim StrTr(9) As StringDim strSj(49) As StringDim minht, maxHt As IntegerPrivate Sub EnableSave(ok As Boolean)Dim k As IntegerFor k = 0 To 3If k < 2 Thencb(k).Enabled = Not okElsecb(k).Enabled = okEnd IfNext kFrame7.Enabled = Not okFrame2.Enabled = okFrame3.Enabled = okEnd SubPrivate Sub cb_Click(Index As Integer)Me.MousePointer = 11On Error GoTo errDealSelect Case IndexCase 0:ClassCode = Trim(Combo1(0).Text) & "." & Trim(Combo1(1).Text) If Len(Trim(Combo1(0).Text)) > 0 And Len(ClassCode) > 1 Then Call displayInfocb(1).Enabled = TrueEnd IfCase 1:cb_Click (0)EnableSave (True)cb(1).Enabled = FalseCase 2:If TrChanged ThenstrSql = "delete * from trclass where cclasscode='" & ClassCode & "'"conn.Execute strSqlDim strTrName As StringFor i = 0 To sjCnt - 1strTrName = Trim(Combo2(i).Text)If Len(strTrName) > 0 ThenstrSql = "insert into trclass values('" & ClassCode & "' ," + "'" + Trim(Label2(i).Caption) + "' ," + "'" + Trim(Combo2(i).Text) + "' )"'me.caption = strSqlconn.Execute strSqlEnd IfNext iTrChanged = FalsersTrAry.Requerycb(1).Enabled = FalseEnd IfIf ClassChanged Thenconn.Execute "delete * from classarray where cclasscode='" & ClassCode & "'"Dim X, Y As IntegerFor i = 0 To 49Y = i Mod 5 + 1X = Int(i / 5) + 1If Len(Trim(Combo3(i).Text)) > 0 ThenstrSql = "insert into classarray values('" & ClassCode & "' ," & Y & "," & X & ", '" & Trim(Combo3(i).Text) & "')"'me.caption = strSqlconn.Execute strSqlEnd IfNext iClassChanged = FalsersClassAry.RequeryEnd IfEnableSave (False)Case 3:For i = 0 To sjCnt - 1Combo2(i).Text = Combo2(i).TagNext iFor i = 0 To 49Combo3(i).Text = Combo3(i).TagNext iEnableSave (False)cb(1).Enabled = FalseEnd SelectGoTo okerrDeal:MsgBox "Error Unknown"ok:Me.MousePointer = 0End SubPrivate Sub displayInfo()For j = 0 To sjCnt - 1strSql = "select cteacher from trclass where cclasscode='" & ClassCode & "' and csubject='" & Trim(Label2(j).Caption) & "'"'Text1.Text = strSql'me.caption = strSqlSet rsTrAry = conn.Execute(strSql)'Dim tpRs As ADODB.Recordset'Set tpRs = conn.Execute("select cteacher from trclass where cclasscode='" & ClassCode & "' and csubject='" & Trim(Label2(j).Caption) & "'")'Text1.Text = "####" & strSql & "####"'While Not tpRs.EOF' Text1.Text = Text1.Text + tpRs.Fields(0)' tpRs.MoveNext'Wend'这里用另一种方法创建 recordset'rsTrAry.If Not rsTrAry.EOF Then'rsTrAry.MoveFirstCombo2(j).Text = rsTrAry.Fields(0) 'rsTrAry!cteacherCombo2(j).Tag = rsTrAry.Fields(0) ' rsTrAry!cteacher'EnableSave (False)Else' MsgBox "nodata", vbOKOnlyCombo2(j).Text = ""Combo2(j).Tag = ""'EnableSave (True)'''''''''''''''''''''''''''这里语句可能出错End IfNext jFor i = 0 To 49Dim X, Y As IntegerX = Int(i / 5 + 1)Y = i Mod 5 + 1strSql = "select csjname from classarray where cclasscode='" & ClassCode & "' and itimew=" & Y & " and itimen=" & X'me.caption = strSql' rsClassAry.Open strSql, conn, adOpenStatic, adLockOptimistic Set rsClassAry = conn.Execute(strSql)If Not rsClassAry.EOF ThenCombo3(i).Text = rsClassAry.Fields(0)Combo3(i).Tag = rsClassAry.Fields(0)'EnableSave (False)ElseCombo3(i).Text = ""Combo3(i).Tag = ""'EnableSave (True)End IfNext iEnd SubPrivate Function Trim(str As String) As StringTrim = LTrim$(RTrim$(str))End FunctionPrivate Sub Combo2_Change(Index As Integer)TrChanged = TrueEnd SubPrivate Sub Combo3_Change(Index As Integer)ClassChanged = TrueEnd SubPrivate Sub Command1_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Form_Load()Me.MousePointer = 11Set conn = New ADODB.ConnectionSet rsTr = New ADODB.RecordsetSet rsSj = New ADODB.RecordsetSet rsTrAry = New ADODB.RecordsetSet rsClassAry = New ADODB.Recordset'"Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=C:\WINDOWS\Desktop\dataUse.mdb"conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\dataUse.mdb"rsTr.Open "select * from teacher", conn, adOpenStatic, adLockOptimisticrsSj.Open "select * from subject", conn, adOpenStatic, adLockOptimisticminht = 4090maxHt = 9000sjCnt = rsSj.RecordCountCall comboInitEnableSave (False)cb(1).Enabled = False'Command1.Tag = "<<"Me.Height = minhtMe.MousePointer = 0End SubPrivate Sub comboInit()rsSj.MoveFirstDim trCnt As IntegertrCnt = rsTr.RecordCountrsTr.MoveFirstCombo1(0).Text = ""Combo1(1).Text = ""For i = 1 To 12Combo1(0).AddItem (i)Next iFor i = 1 To 20Combo1(1).AddItem (i)Next iFor i = 0 To 9Combo2(i).Text = ""If i < sjCnt ThenLabel2(i).Caption = rsSj!csjname rsSj.MoveNextElseLabel2(i).Visible = FalseCombo2(i).Visible = FalseEnd IfLabel3(i).Caption = i + 1Next iFor i = 0 To sjCnt - 1If i > 0 ThenFor j = 0 To trCnt - 1'the last modified here....................Combo2(i).List(j) = Combo2(0).List(j) Next jElsersTr.MoveFirstWhile Not rsTr.EOFCombo2(i).AddItem (rsTr.Fields(0))rsTr.MoveNextWendEnd IfNext iFor i = 0 To 49Combo3(i).Text = ""For j = 0 To sjCnt - 1Combo3(i).AddItem (Label2(j).Caption)Next jNext iEnd SubPrivate Sub Form_Resize()Frame3.Top = Me.Height - Frame3.Height - 520 End SubPrivate Sub Form_Unload(Cancel As Integer)On Error GoTo Err:rsTr.ClosersSj.ClosersTrAry.ClosersClassAry.CloseSet rsTr = NothingSet rsSj = NothingSet rsTrAry = NothingSet rsClassAry = Nothingconn.CloseSet conn = NothingErr:End SubPrivate Sub Timer1_Timer()If Command1.Caption = ">>" ThenIf Me.Height < maxHt ThenMe.Height = Me.Height + 150ElseTimer1.Enabled = FalseCommand1.Caption = "<<"Command1.ToolTipText = "收起课程表!"Me.Height = maxHtTimer2.Enabled = FalseCommand1.BackColor = RGB(255, 255, 255) Shape2.BackColor = RGB(0, 100, 200)End IfElseIf Me.Height > minht ThenMe.Height = Me.Height - 150ElseTimer1.Enabled = FalseCommand1.Caption = ">>"Command1.ToolTipText = "课程表在这里!"Me.Height = minhtTimer2.Enabled = TrueEnd IfEnd IfEnd SubPrivate Sub Timer2_Timer()Static r, g, b As Integer'r = 100'g = 50'b = 20Command1.BackColor = RGB(r, g, b)Shape2.BackColor = RGB(255 - r, 255 - g, 255 - b)r = r + 15g = g + 39b = b + 87If r > 255 Thenr = 0End IfIf g > 255 Theng = 0End IfIf b > 255 Thenb = 0End IfEnd Sub4. 教职员带课查询界面设计:代码分析:Option ExplicitDim conn As ADODB.Connection Dim rs As ADODB.RecordsetDim rsTr As ADODB.Recordset Dim i, j, value, idx As Integer Dim strName, strSql As StringPrivate Type DataGetclass As StringSjname As StringTw As IntegerTn As IntegerEnd TypePrivate Sub Command1_Click()On Error GoTo bnEndMe.MousePointer = 11Dim sSql As StringDim dgUse As DataGet'Select Case Index'Case 0:Call ClearCombostrName = LTrim$(RTrim$(Combo1.Text))If Len(strName) > 0 ThensSql = strSql & "'" & strName & "'"Set rs = conn.Execute(sSql)If Not rs.EOF ThenWhile Not rs.EOFdgUse.class = rs.Fields(0)dgUse.Sjname = rs.Fields(1)dgUse.Tw = rs.Fields(2)dgUse.Tn = rs.Fields(3)idx = (dgUse.Tn - 1) * 5 + dgUse.Tw - 1 Combo3(idx).Visible = TrueCombo3(idx).AddItem (dgUse.class & "班") Combo3(idx).AddItem (dgUse.Sjname)Combo3(idx).Text = Combo3(idx).List(value)rs.MoveNextWendElseMsgBox "没有得到相关数据,请检查", vbOKOnly + vbInformation, "数据捕捉"End IfDim lcnt As IntegerFor lcnt = 0 To 49If Combo3(lcnt).ListCount > 2 ThenCombo3(lcnt).BackColor = RGB(200, 255, 255)Combo3(lcnt).AddItem ("注意有重课")End IfNext lcntElseMsgBox "请输入或选择一教职员姓名", vbInformation+ vbOKOnly, "查询输入"End If'End SelectbnEnd:Me.MousePointer = 0End SubPrivate Sub ClearCombo()For i = 0 To 49Combo3(i).BackColor = RGB(255, 255, 255)Combo3(i).Text = ""Combo3(i).Visible = FalseCombo3(i).ClearNext iEnd SubPrivate Sub Form_Load()Me.MousePointer = 11On Error GoTo KKaSet conn = New ADODB.Connectionconn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\dataUse.mdb"Set rsTr = conn.Execute("select ctrname from teacher")For i = 0 To 9Label3(i).Caption = i + 1Next iWhile Not rsTr.EOFCombo1.AddItem (rsTr.Fields(0))rsTr.MoveNextWendCall ClearCombostrSql = "select lasscode,trclass.csubject,classarray.itimew,class array.itimen" + _" from teacher,trclass,classarray " + _"where teacher.ctrname=trclass.cteacher and lasscode=lasscode" + _" and trclass.csubject=classarray.csjname and teacher.ctrname="'selectlasscode,trclass.csubject,classarray.itimew,class array.itimen'From teacher, trclass, classarray'Where teacher.ctrname = trclass.cteacher And lasscode = lasscode'and trclass.csubject=classarray.csjname'and teacher.ctrname='陈''strSql = "select teacher.ctrname,lasscode,classarray.itimew,classa rray.itimen" + _" from teacher join trclass onteacher.ctrname=trclass.cteacher join classarray" + _ " on lasscode=classarray.classcode where teacher.ctrname="value = 0GoTo okKKa:MsgBox "Error Unknown"ok:Me.MousePointer = 0End SubPrivate Sub Form_Unload(Cancel As Integer)On Error GoTo KK:rs.ClosersTr.CloseSet rs = NothingSet rsTr = Nothingconn.CloseSet conn = NothingKK:End SubPrivate Sub Opn_Click(Index As Integer) value = IndexCall Command1_ClickEnd Sub5. 本学期课程设置界面设计:代码分析:Option ExplicitDim con As ADODB.ConnectionDim rs As ADODB.RecordsetDim str(9) As String'Dim strSql As StringPrivate Sub cn_Click(Index As Integer)'On Error GoTo ex:Dim lcnt As IntegerDim strTxt As StringSelect Case IndexCase 0:CanSave (True)Case 1:con.Execute ("delete * from subject")For lcnt = 0 To 9strTxt = Trim$(LTrim$(Txt(lcnt).Text)) If Len(strTxt) > 0 Thenrs.AddNewrs!csjname = strTxtrs.UpdateEnd IfNext lcntCanSave (False)Case 2:For lcnt = 0 To 9Txt(lcnt) = str(lcnt)Next lcntCanSave (False)End SelectExit Subex:MsgBox "database error", vbOKOnly + vbExclamation, "error" End SubPrivate Sub Form_Load()'strSql = "insert into subject values( '"Set con = New ADODB.ConnectionSet rs = New ADODB.RecordsetCall clearTxtCanSave (False)con.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\dataUse.mdb"rs.Open "select * from subject", con, adOpenStatic, adLockOptimisticCall displayInfoEnd SubPrivate Sub CanSave(bSave As Boolean)Frame1.Enabled = bSavecn(1).Enabled = bSavecn(2).Enabled = bSavecn(0).Enabled = Not bSaveEnd SubPrivate Sub displayInfo()rs.MoveFirstDim lcnt As Integerlcnt = 0While (Not rs.EOF And lcnt < 10)Txt(lcnt).Text = rs!csjname str(lcnt) = Txt(lcnt).Textlcnt = lcnt + 1rs.MoveNextWendEnd SubPrivate Sub clearTxt()Dim lcnt As IntegerFor lcnt = 0 To 9Txt(lcnt).Text = ""Next lcntEnd SubPrivate Sub Form_Unload(Cancel As Integer) rs.Closecon.CloseSet rs = NothingSet con = NothingEnd Sub6. 打印课程表界面设计:代码设计:临时课表Dim ctCon As ADODB.ConnectionDim ctrs As ADODB.Recordset'classArray表Dim cacon As ADODB.ConnectionDim cars As ADODB.RecordsetDim sqlStr As StringDim ClassCode As StringDim wStr(5) As StringPrivate Sub clearStr()For i = 1 To 5wStr(i) = " "Next iEnd SubPrivate Sub Update_ct()'删除所有以前的记录ctCon.Execute ("delete * from tempCT")'更新表sqlStr = "select * from classArray where cclasscode='" & ClassCode & "'" & " order by iTimeN"cacon.Execute sqlStrcars.Open sqlStr, cacon, adOpenStatic, adLockOptimisticcars.MoveFirstDim i As Integeri = 1clearStrWhile (Not cars.EOF)While cars!iTimeN <> i'添加一条课程记录strSql = "insert into tempCT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + "' )"ctCon.Execute strSqlclearStri = i + 1WendwStr(cars!iTimeW) = cars!csjnamecars.MoveNextWend'添加一条课程记录strSql = "insert into tempCT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + "' )"ctCon.Execute strSqlclearStrWhile i < 10'添加一条课程记录strSql = "insert into tempCT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + "' )"ctCon.Execute strSqli = i + 1WendEnd SubPrivate Sub Command1_Click()ClassCode = Trim(gradeCombox.Text) & "." & Trim(classCombox.Text)Call Update_ctUnload MeclassRep.ShowEnd SubPrivate Sub Form_Load()For i = 1 To 12gradeCombox.AddItem (i)Next iFor i = 1 To 20classCombox.AddItem (i)Next iSet cacon = New ADODB.ConnectionSet cars = New ADODB.Recordsetcacon.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\dataUse.mdb"Set ctCon = New ADODB.ConnectionSet ctrs = New ADODB.RecordsetctCon.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\dataUse.mdb"End SubPrivate Sub Form_Unload(Cancel As Integer)cars.Closecacon.CloseSet cars = NothingSet cacon = NothingctCon.CloseSet ctrs = NothingSet ctCon = NothingEnd Sub7. 打印教师代课表界面设计:代码设计:'临时教师代课表Dim ttCon As ADODB.ConnectionDim ttrs As ADODB.Recordset'trClass表Dim trcon As ADODB.ConnectionDim trrs As ADODB.RecordsetDim sqlStr As StringDim trname As StringDim wStr(5) As StringDim clStr(5) As StringPrivate Sub clearStr()For i = 1 To 5wStr(i) = " "clStr(i) = " "Next iEnd SubPrivate Sub Update_tt()ttCon.Execute "delete * from tempTT"strSql = "select lasscode,trclass.csubject,classarray.itimew,classarray.itim en" + _" from teacher,trclass,classarray " + _"where teacher.ctrname=trclass.cteacher and lasscode=lasscode" + _" and trclass.csubject=classarray.csjname and teacher.ctrname=" + "'" + trname + "'" _+ " order by iTimeN"trcon.Execute strSqltrrs.Open strSql, trcon, adOpenStatic, adLockOptimistictrrs.MoveFirstDim i As Integeri = 1clearStrWhile Not trrs.EOFWhile trrs!iTimeN <> istrSql = "insert into tempTT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + _"' ,'" + clStr(1) + "' ," + "'" + clStr(2) + "' ," + "'" + clStr(3) + "' ," + "'" + clStr(4) + "' ," + "'" + clStr(5) + "' )"ttCon.Execute strSqlclearStri = i + 1WendwStr(trrs!iTimeW) = trrs!csubjectclStr(trrs!iTimeW) = trrs!cClassCodetrrs.MoveNextWendstrSql = "insert into tempTT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + _"' ,'" + clStr(1) + "' ," + "'" + clStr(2) + "' ," + "'" + clStr(3) + "' ," + "'" + clStr(4) + "' ," + "'" + clStr(5) + "' )"ttCon.Execute strSqlclearStrWhile i < 10i = i + 1strSql = "insert into tempTT values(" & i & " ," + "'" + wStr(1) + "' ," + "'" + wStr(2) + "' ," + "'" + wStr(3) + "' ," + "'" + wStr(4) + "' ," + "'" + wStr(5) + _"' ,'" + clStr(1) + "' ," + "'" + clStr(2) + "' ," + "'" + clStr(3) + "' ," + "'" + clStr(4) + "' ," + "'" + clStr(5) + "' )"ttCon.Execute strSqlWendEnd SubPrivate Sub Command1_Click()trname = Trim(teacherCombox.Text)Call Update_ttUnload MeTrRep.ShowEnd SubPrivate Sub Form_Load()Set ttCon = New ADODB.ConnectionSet ttrs = New ADODB.RecordsetttCon.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\dataUse.mdb"Set trcon = New ADODB.ConnectionSet trrs = New ADODB.Recordsettrcon.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= " & App.Path & "\dataUse.mdb"End SubPrivate Sub Form_Unload(Cancel As Integer)'ttrs.ClosettCon.CloseSet ttrs = NothingSet ttCon = Nothingtrcon.CloseSet trrs = NothingSet trcon = NothingEnd Sub第四章数据库的设计4.1数据库设计1.classarray信息表2.teacher表:3.tempct表:4.班级表:4.2 数据库概念和发展关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。