数据库课程设计 教务管理系统
(完整word版)教务管理系统数据库设计

目录第一章:项目计划 (2)1.1项目背景: (2)1.2系统开发目的: (2)1.3定义: (2)第二章:详细分析 (2)2.1、系统功能 (2)2.2、系统结构 (3)2.3、数据流图 (3)2.4、户类型与职能 (4)2.5、系统环境需求 (5)第三章:系统概念设计 (5)第四章:逻辑设计 (6)4.1系统关系模型 (6)4.2系统数据库表结构 (6)第五章:源码 (9)第六章:小结 (14)第一章:项目计划1.1项目背景:教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个账号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统.1.2系统开发目的:提高学生,老师管理和操作事务的运作效率。
1.3定义:学生选课和老师评分必须在管理员的设置条件下进行。
第二章:详细分析2.1、系统功能设置学期时间:管理员登录系统后设置学期的时间,只有当时间为某个状态时,其他角色例如老师,才能做某些事情。
学期时间只能由角色管理员操作:包括对学期时间表的增加,删除,对某个学期时间状态的改变。
学生选课:当管理员设置为学期开始时,学生可以选课,学生选课受学分影响,只能选择总学分为多少的课程。
老师评分:当管理员设置为学期评分时,老师才可以评分。
个人信息管理:对自己个人信息进行添加和修改。
成绩查询:学生可以对自己成绩进行查询。
个人课表查询:按时间的不同,每个角色都有自己不同的课表。
2.2、系统结构功能描述:学生选课和老师评分必须在管理员设置学期的条件下进行。
2.3、数据流图顶层图0层图2.4、户类型与职能(1)管理员:对学期设置的管理每个阶段有不同的功能。
(2)老师:对选修了自己课程的学生评分。
(3)学生:选修科目。
2.5、系统环境需求系统模式本系统采用B/S模式作为开发模式硬件环境服务器端:高性能的计算机一台,普通的双绞线作为连接。
教师管理系统数据库课程设计

教师管理系统数据库课程设计本文旨在介绍教师管理系统数据库课程设计的目的和重要性。
教师管理系统数据库课程设计是计算机专业学生在研究数据库知识和应用方面的重要实践活动。
通过设计和实现教师管理系统的数据库,学生可以掌握数据库设计、数据模型建立、数据操作和数据管理等方面的知识和技能。
此外,教师管理系统是学校管理系统中的重要组成部分,它可以有效地管理和维护教师的基本信息、工作安排、薪酬等,提高学校管理的效率和质量。
教师管理系统数据库课程设计的目标是培养学生的数据库设计和开发能力,使他们能够独立完成一个具有实际意义的数据库应用系统的设计和实施。
通过该课程设计,学生可以了解和掌握数据库设计的基本原理和方法,熟悉数据库管理系统的使用和开发工具,提高他们的问题解决能力和团队合作能力。
本课程设计将采用简单策略,避免复杂的法律问题。
所有引用内容将进行审核和确认,以确保信息的准确性和可靠性。
本课程设计的目标是教授学生数据库设计和管理的基本概念和技能。
通过本课程,学生将能够:理解数据库的基本原理和结构掌握数据库设计的方法和步骤学会使用常见的数据库管理工具和语言,如SQL能够设计和创建一个适用于教师管理系统的数据库模型掌握数据库的维护和管理技巧,包括备份、恢复和性能优化等理解数据库安全性和隐私保护的重要性,并学会相关的控制措施能够解决数据库设计和管理中的常见问题和挑战运用所学知识和技能,开发一个完整且实用的教师管理系统的数据库通过完成本课程设计,学生将能够为教师管理系统的数据库设计和管理提供有力的支持和解决方案。
他们将具备实际应用数据库知识和技能的能力,并为教师管理系统和相关领域的发展做出贡献。
《教师管理系统数据库课程设计》通过完成本课程设计,学生将能够为教师管理系统的数据库设计和管理提供有力的支持和解决方案。
他们将具备实际应用数据库知识和技能的能力,并为教师管理系统和相关领域的发展做出贡献。
《教师管理系统数据库课程设计》本课程旨在介绍教师管理系统数据库课程设计的主要内容。
数据库教务管理系统课程设计

华北科技学院计算机系综合性实验实验报告课程名称《数据库原理与应用》实验学期 2012 至 2013 学年第 1 学期学生所在系部计算机学院年级 2010 专业班级计算机B10-3班学生姓名学号任课教师郭红实验成绩计算机系制《数据库原理与应用》综合性实验报告开课实验室:软件开发实验室(一) 2012 年 12月 7 日Course(Cno,Cn, Cs,Ct)(2)设计合适的视图视图v1:create view v1(Sno,Sn,总学分,未修学分)asselect,,sum(Cs),24-sum(Cs)from SC,Course,Studentwhere=and=and>=60group by,统计学生得到学分的情况,这样学生可以很清楚的看到自己所得到的学分的情况,能够时刻提醒自己还差多少分才修完课程,能够保证自己毕业前完成学业。
视图AvgS:学生可以直接查询自己的各科平均成绩。
create view AvgS(Sno,Sn,AvgScore)asselect,,avg(Score)from SC,Studentwhere=group by,4.物理设计create unique index SCI on SC(Sno,Cno)执行此命令后,为SC表建立一个索引名为SCI的唯一索引,此索引为Sno和Cno两列的复合索引,即对SC表中的行先按Sno的递增顺序索引,对于相同的Sno,又按Cno的递增顺序索引。
系统本身已经有的索引是Student表是按照学号升序建立的唯一索引,Teacher表是按照职工号序建立的唯一索引,Course表是按照课程号的升序建立的唯一索引。
5.数据库的实现(1)创建库、表应包括参照完整性、实体完整性、自定义完整性的定义create table Student(Sno char(10)primary key not null,Sn varchar(20)not null,Sex char(2)check(Sex in('男','女')),Dept varchar(20),Major char(20),Age int,Grade int,)create table Course(Cno char(8)primary key not null,Cn char(10),Ct int,Cs int,)(2)创建用户包括创建用户或角色,并授予相应的权限(用户设计至少3个,且设置合理)我为数据库创建了三个用户,分别是海艳,郭跃,系统管理员,对应的登录名分别是学生,老师,系统。
数据库教学管理系统课程设计报告

数据库教学管理系统课程设计报告一、项目背景数据库教学管理系统是一种用于管理学校教学信息和学生数据的系统,通过该系统可以方便地管理学生信息、教师信息、课程信息等数据,并支持教务管理、成绩管理、课程安排等功能。
该系统可以提高教学管理效率,实现教学信息的自动化管理,是现代教育管理的重要工具。
二、需求分析1.功能需求•管理学生信息,包括学生基本信息、选课情况等;•管理教师信息,包括教师基本信息、授课情况等;•管理课程信息,包括课程名称、上课时间、上课地点等;•支持教务管理,包括学生选课、成绩录入等功能;•支持课程安排,包括课程表生成、教师排课等功能。
2.性能需求•系统要求稳定可靠,能够处理大量数据;•系统响应速度快,能够快速查询数据;•系统安全性高,能够保护学生和教师信息不被泄露。
三、系统设计1.数据库设计系统采用MySQL数据库,包括以下表格设计: - 学生表(Student):存储学生基本信息,包括学号、姓名、性别等字段; - 教师表(Teacher):存储教师基本信息,包括工号、姓名、职称等字段; - 课程表(Course):存储课程信息,包括课程编号、课程名称、学分等字段; - 选课表(Enrollment):存储学生选课情况,包括学生学号、课程编号等字段; - 成绩表(Grade):存储学生成绩信息,包括学生学号、课程编号、成绩等字段。
2.系统架构设计系统采用B/S架构,前端使用HTML、CSS、JavaScript实现,后端采用Java 语言开发,并采用Spring框架实现业务逻辑,数据库连接采用JDBC连接MySQL 数据库。
四、系统实现1.前端实现前端页面采用响应式设计,包括学生信息管理页面、教师信息管理页面、课程信息管理页面等,使用Bootstrap框架实现页面布局,并通过AJAX与后端交互。
2.后端实现后端采用MVC架构,包括控制器层、服务层、数据访问层,使用Spring MVC 和Spring JDBC框架实现,对前端请求进行处理并访问数据库。
数据库课程设计学校教务管理系统

数据库教务系统的设计姓名学号日期一、系统开发目标:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
学校为方便教务管理,需开发一个教务管理系统。
为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求系统界面要简单明了,易于操作,程序利于维护。
二、功能设计:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。
对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。
(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩>90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9)教授某学生必修课程的老师情况10)某学生选修了哪些系的课程11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学13)按总学分积找出某系学习最好的5名同学14)可以毕业的学生1、总体功能概念结构图:2、查找所给问题的实体系统中涉及到的实体:班级,学生,教师,课程,学院中的各个系。
2.1查找实体的关联①班级、学生之间是一对多关系;②学生、课程之间是多对多关系;③系、班级、教师之间是一对多关系;④教师、课程、班级之间是多对多关系;2.2查找实体关键字①班级的关键字----班级号;②学生的关键字----学号;③教师的关键字---教师编号;④课程的关键字----课程号;⑤系的关键字----系号。
(完整word版)数据库课程设计教务管理系统

洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级学号姓名完成日期课程设计任务书设计题目:教务管理系统设计内容与要求:设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。
一个班级只属于一个专业,一个学生只属于一个班级。
教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。
教师可以查看学习该课程的学生名单。
课程结束后,教师可以录入课程成绩。
一个教师可以教授多个班的多门课程,每门课由多位老师讲授。
课程分两类,必修课和选修课。
系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。
学生可以查看自己各门课程的成绩。
学生还可以进行评教,给老师打分。
管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。
要求:1.完成本系统的需求分析,写出功能需求和数据需求描述;2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.完成本系统的部分功能模块的程序界面设计。
指导教师:2017 年12 月29 日课程设计评语成绩:指导教师:_______________年月日目录一、概述 (2)1.1、本设计的目的与意义 (2)1.2、数据库开发工具和应用程序开发工具 (2)二、需求分析 (2)2.1功能需求 (2)2.2数据需求 (2)三、概念结构设计 (2)3.1、E-R模型设计 (2)3.2、总体E-R图描述 (4)四、逻辑结构设计 (4)4.1、关系模型 (4)4.2、关系模式的优化与说明 (4)五、物理结构设计 (5)5.1建立数据库 (5)5.2表与表结构 (5)六、应用程序设计 (6)6.1、系统总体结构 (6)6.2、系统界面与源代码 (7)6.2.1、界面 (8)6.2.2、功能描述 (9)6.2.3、程序源代码 (10)七、设计总结 (23)一、概述本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。
教务管理系统的数据库设计

教务管理系统的数据库设计在这个信息化的时代,教务管理系统的数据库设计可真是个重要话题。
想象一下,学生们像小鸟一样翱翔在知识的天空中,而教务管理系统就像是那座巍峨的山,支撑着他们的飞翔。
要说数据库设计,它就像是那座山里的矿藏,藏着无数宝贵的数据,帮助学校更好地管理课程、学生、老师等等。
嘿,想要把这个系统弄得流畅又高效,可是需要点儿巧思的。
得说说数据表的设计。
哎,这可不是随便搁一堆数据就行,得精心布局。
就像盖房子,基础打好了,后面的事儿就简单多了。
学生信息表得包含姓名、学号、班级、联系方式这些。
这样一来,学校里的小伙伴们都能找到自己的资料,简直是太方便了。
想想看,谁还想翻开厚厚的纸张找信息呢?那简直是“老古董”嘛。
接下来是课程表。
课程表可得搞得清清楚楚。
你说,哪个学生想要上错课啊?这可真是“搬起石头砸自己的脚”。
数据库里得有课程ID、课程名称、授课教师、上课时间、教室等信息。
这样一来,学生们就可以轻松找到自己的课程安排,省得一个个去问老师,弄得大家都烦得要命。
说实话,谁不想在上课之前先看一眼课表,安排好自己的时间呢?然后,得提提老师信息表。
这些可都是传授知识的“园丁”,他们的基本信息得齐全。
姓名、职称、教授课程、联系方式……这些都是必不可少的。
想想,学生们如果有问题,能直接找到老师,那得多省心啊!就像找到了“明灯”,一片黑暗中突然亮了起来。
再说,老师也可以通过系统了解自己所教班级的情况,做到心中有数,帮助学生解决问题,简直是一举两得!说到这里,不得不提到成绩管理。
学生们的成绩就像是一面镜子,映照出他们的学习状况。
成绩表得细致入微,得有学号、课程ID、成绩、学期等信息。
每当考试结束,老师一键上传成绩,学生们就能及时查看,心里明白得很。
要是成绩不好,也能及时调整学习计划,争取下次考个好成绩,绝对是“洗心革面”的机会。
谁愿意被自己的分数困住呢?大家都想迎头赶上嘛。
数据安全也是一大关键。
就像是给这些宝贵数据上了一把锁,防止不必要的“外人”进入。
数据库设计教务管理系统方案

计算机科学与技术学院、软件学院数据库设计与开发实验报告教务管理系统学生姓名:学号:班级:指导老师:目录第1 章需求分析....................................................................................................................... . (3)第2 章数据库设计................................................................................................................... . (3)2.1E-R 图分析 (3)2.2 数据库表设计 (4)2.2.1zhj_course表结构 (4)2.2.2zhj_student表结构 (4)2.2.3 zhj_teacher表结构 (4)2.2.4 zhj_C_T表结构 (4)2.2.5 zhj_C_S表结构 (4)第3 章数据库程序设计 (5)3.1 数据库及表的定义 (5)3.2 为数据库各表建立索引 (5)3.3 创建各表的存储过程 (5)3.3.1 普通存储过程(无参数) (6)3.3.2 带参数的存储过程 (7)3.3.3 带output参数的存储过程 (7)3.4 触发器设计 (8)3.4.1 插入触发器 (8)3.4.2 更新触发器 (9)3.4.3 删除触发器 (9)3.5 游标的应用 (10)第4 章用户交互界面 (11)4.1 、登录界面模块 (11)4.2 、学生登录模块 (12)4.2.1 个人信息管理 (12)4.2.2 选课模块 (13)4.2.3 查看与删除选课 (13)4.3 、教师登录模块 (14)4.3.1 选择授课............................................... . (14)4.3.2 查看授课 (14)4.3.3 录入成绩 (14)4.4 、系统管理员登录模块 (16)4.4.1 学生管理 (16)4.4.2 教师管理 (18)4.4.3 课程管理 (18)4.4.4 选课管理 (18)4.4.5 授课管理 (18)4.4.6 查看学生所选课程数目总分平均分 (18)第5 章总结 (19)第一章需求分析问题提出:每年系主任诽课都会遇到困难。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级B120505学号姓名完成日期2015-1-4课程设计任务书设计题目:教务管理系统设计内容与要求:设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。
一个班级只属于一个专业,一个学生只属于一个班级。
教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。
教师可以查看学习该课程的学生名单。
课程结束后,教师可以录入课程成绩。
一个教师可以教授多个班的多门课程,每门课由多位老师讲授。
课程分两类,必修课和选修课。
系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。
学生可以查看自己各门课程的成绩。
学生还可以进行评教,给老师打分。
管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。
要求:1.完成本系统的需求分析,写出功能需求和数据需求描述;2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.完成本系统的部分功能模块的程序界面设计。
指导教师:高春玲2014 年12 月28 日课程设计评语成绩:指导教师:_______________年月日目录一、概述 21.1、本设计的目的与意义 21.2、数据库开发工具和应用程序开发工具 2二、需求分析 22.1功能需求 22.2数据需求 2三、概念结构设计 23.1、E-R模型设计 23.2、总体E-R图描述 4四、逻辑结构设计 44.1、关系模型 44.2、关系模式的优化与说明 4五、物理结构设计 55.1建立数据库 55.2表与表结构 5六、应用程序设计 66.1、系统总体结构 6 6.2、系统界面与源代码7 6.2.1、界面7 6.2.2、功能描述96.2.3、程序源代码9七、设计总结23八、体会与收获24九、参考文献24一、概述本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。
二、需求分析2.1、功能需求本系统的功能如下:1)学生信息查询:学生可以根据学号、姓名、专业进行查询.2)学生信息管理:主要是用于学生信息更新、插入、删除;3)学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;2.2、数据需求本系统需要的数据如下:学生:学号、姓名、性别、年龄教师:工号、姓名、性别、年龄班级:班号、班名、人数、课程:课程号、课程名、上课时间、上课地点专业:专业号、专业名三、概念结构设计3.1、E-R模型设计(E-R图)学生和教师实体及其属性E-R图教师与课程E-R图部分实体的E-R图总体E-R图3.2、总体E-R图描述学生与班级之间的联系是所属关系(一对多关系)班级与专业之间的联系是所属关系(一对多关系)班级与课程之间的联系是学习关系(多对多关系)学生选修一门选修课(一对多关系)学生评教老师所教课程(多对多关系)老师教授课程(多对多关系)四、逻辑结构设计4.1、关系模型学生(学号、姓名、性别、年龄、班号、选修课程号、分数)教师(工号、姓名、性别、年龄)班级(班号、班名、人数、专业名)课程(课程号、课程名)成绩(必修课程号、班号、学号、分数)评教(学号、工号、课程号、评分)教授(工号、课程号)课程表(课程号、工号、上课时间、上课地点)(实现排课功能)用户(用户名、密码、用户类型)(存储登陆查询系统的人员信息)加粗表示外键、加下划线表示主码4.2、关系模式的优化与说明例如:教授关系的依赖关系如下:(工号、课程号)—〉工号、课程号所以教授关系模式属于第三范式教师关系的依赖关系如下:工号—>工号、姓名、性别、年龄因为没有非主属性对码的部分函数依赖,也没有非主属性对码的传递函数依赖所以教师关系模式属于第三范式五、物理结构设计5.1、数据库的建立5.2、表与表结构班级(Class)表的结构课程(Course)表的结构学生(Student)表的结构教师(Teacher)表的结构评教(Judge)表的结构教授(Teach)表的结构成绩(Grade)表的结构六、应用程序设计6.1、系统总体结构1)主界面:登陆界面,通过选择用户类型,输入用户名密码,点击登录进入不同界面。
2)子界面:不同用户类型的界面不相同,学生可以查询成绩,老师可以查看自己所教课程有哪些学习,教务员可以实现排课功能。
他们都能够修改自己的登录密码6.2、系统界面与源代码6.2.1、界面登陆界面学生界面老师界面6.2.2、功能描述1)登录2)学生查询学习课程的成绩3)老师查询学习所教课程的学生名单4)修改登录密码5)查看用户基本信息6.2.3、程序源代码using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 教务管理系统{public struct UserInform //结构体存储用户输入的信息{public static string UserType;public static string UserName;public static string UserSecret;public static LoginForm lg;}public partial class LoginForm : Form //登陆界面{public LoginForm(){InitializeComponent();UserInform.lg= this;}DataClasses1DataContext db;private void Cancelbutton_Click(object sender, EventArgs e){this.Close();}private void Loginbutton_Click(object sender, EventArgs e){db = new DataClasses1DataContext();this.bindingSource1.DataSource = erInfo;bool b = false;if (UtypecomboBox.SelectedIndex!=-1){erName = UnametextBox.Text;erSecret = UsecrettextBox.Text;erType = UtypecomboBox.SelectedItem.ToString();var ss = from s in erInfo where s.Utype == erType select s;foreach (var x in ss){if (x.Uname.ToLower()== erName.ToLower()&& ecret == erSecret){MessageBox.Show("欢迎您登陆!!!");this.Visible = false;b = true;switch (erType){case "学生": StudentForm sf = new StudentForm();sf.Show();break;case "老师": TeacherForm tf = new TeacherForm();tf.Show();break;case "管理员": AdminForm af = new AdminForm();af.Show();break;case "教务员": JwForm jw = new JwForm();jw.Show();break;}}}if (!b){MessageBox.Show("用户名不存在或密码错误");UsecrettextBox.Clear();UnametextBox.Focus();return;}}else{MessageBox.Show("请选择用户类型");UnametextBox.Clear();UsecrettextBox.Clear();UnametextBox.Focus();return;}}}public partial class StudentForm : Form //学生界面{public StudentForm(){InitializeComponent();}DataClasses1DataContext db;private void StudentForm_Load(object sender, EventArgs e){db = new DataClasses1DataContext();SnotextBox.Text = erName;SnotextBox1.Text = erName;var ss = from s in db.Student where s.Sno == erName select s;foreach (var itm in ss){SnametextBox.Text = itm.Sname;SagetextBox.Text = itm.Sage.ToString();SsextextBox.Text = itm.Ssex;}}private void label4_Click(object sender, EventArgs e){this.Close();UserInform.lg.Visible = true;}private void label3_Click(object sender, EventArgs e){panel2.Visible = true;}private void Enterbutton_Click(object sender, EventArgs e){db = new DataClasses1DataContext();if (textBox1.Text == ""){MessageBox.Show("请输入原密码");textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox1.Focus();}else if (textBox1.Text == erSecret){if(textBox2.Text==textBox3.Text){var ss = from s in erInfo where s.Uname == erName && s.Utype == erType select s;var ui = ss.FirstOrDefault();if (ui != null){ecret = textBox2.Text;db.SubmitChanges();MessageBox.Show("修改成功");textBox1.Clear();textBox2.Clear();textBox3.Clear();panel2.Visible = false;}}else{MessageBox.Show("两次输入应相同");textBox3.Clear();textBox3.Focus();}}else{MessageBox.Show("原密码输入错误,请重新输入");textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox1.Focus();}}private void Cancelbutton_Click(object sender, EventArgs e){textBox1.Clear();textBox2.Clear();textBox3.Clear();panel2.Visible = false;}private void StudentForm_FormClosing(object sender, FormClosingEventArgs e) {db = new DataClasses1DataContext();this.bindingSource1.DataSource = erInfo;try{this.bindingSource1.EndEdit();db.SubmitChanges();}catch (Exception ex){MessageBox.Show(ex.Message, "失败");}}private void Gradebutton_Click(object sender, EventArgs e){db = new DataClasses1DataContext();if (CnametextBox.Text != ""){var ss = from s in db.Course where ame == CnametextBox.Text select s;var cs = ss.FirstOrDefault();if (cs != null){var s1 = from s2 in db.Grade where s2.Gkehao == o && s2.Gxuehao == erName select s2;foreach (var item in s1){GradelistBox.Items.Add(CnametextBox.Text + "的成绩为" + item.Ggrade.ToString());}}else{GradelistBox.Items.Add("此课程不存在")GradelistBox.Items.Add("请重新输入");CnametextBox.Clear();CnametextBox.Focus();}}}private void Clearbutton_Click(object sender, EventArgs e) {GradelistBox.Items.Clear();}private void tabPage1_Click(object sender, EventArgs e){}} public partial class TeacherForm : Form //老师界面{public TeacherForm(){InitializeComponent();}DataClasses1DataContext db;private void Enterbutton_Click(object sender, EventArgs e) {db = new DataClasses1DataContext();if (textBox1.Text == ""){MessageBox.Show("请输入原密码");textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox1.Focus();}else if (textBox1.Text == erSecret){if (textBox2.Text == textBox3.Text){var ss = from s in erInfo where s.Uname == erName && s.Utype == erType select s;var ui = ss.FirstOrDefault();if (ui != null){ecret = textBox2.Text;db.SubmitChanges();MessageBox.Show("修改成功");textBox1.Clear();textBox2.Clear();textBox3.Clear();panel2.Visible = false;}}else{MessageBox.Show("两次输入应相同");textBox3.Clear();textBox3.Focus();}}else{MessageBox.Show("原密码输入错误,请重新输入");textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox1.Focus();}}private void label4_Click_1(object sender, EventArgs e){this.Close();UserInform.lg.Visible = true;}private void TeacherForm_Load(object sender, EventArgs e){db = new DataClasses1DataContext();SnotextBox.Text = erName;SnotextBox1.Text = erName;var ss = from s in db.Teacher where s.Tno == erName select s;foreach (var itm in ss){SnametextBox.Text = itm.Tname;SagetextBox.Text = itm.Tage.ToString();SsextextBox.Text = itm.Tsex;}}private void TeacherForm_FormClosing(object sender, FormClosingEventArgs e) {db = new DataClasses1DataContext();this.bindingSource1.DataSource = erInfo;try{this.bindingSource1.EndEdit();db.SubmitChanges();}catch (Exception ex){MessageBox.Show(ex.Message, "失败");}}private void label3_Click(object sender, EventArgs e){if (panel2.Visible == false){panel2.Visible = true;}else{panel2.Visible = false;}}private void Cancelbutton_Click(object sender, EventArgs e){textBox1.Clear();textBox2.Clear();textBox3.Clear();panel2.Visible = false;}private void label5_Click(object sender, EventArgs e){db = new DataClasses1DataContext();var ss = from s in db.Teach where s.Tno == erName select s;if (ss != null){SelectTable st = new SelectTable();foreach (var item in ss){if (item.Tcno.StartsWith("X")){var s1 = from s in db.Student where s.Skehao == item.Tcno select new { 课号= s.Skehao, 学号= s.Sno, 学生姓名= s.Sname, 性别= s.Ssex, 成绩= s.Sgrade };st.lb.Items.Add("课号\t学号\t\t姓名\t性别\t成绩");foreach (var im in s1){st.lb.Items.Add(im.课号+"\t"+im.学号+"\t"+im.学生姓名+"\t"+im.性别+"\t"+im.成绩);}}else{var s1 = from s in db.Grade where s.Gkehao == item.Tcno select s;st.lb.Items.Add("课号\t学号\t\t姓名\t性别\t成绩");foreach (var itm in s1){var s2 = from s in db.Student where s.Sno== itm.Gxuehao select new {课号=itm.Gkehao,学号= itm.Gxuehao,学生姓名= s.Sname, 性别=s.Ssex,成绩= itm.Ggrade };var iem = s2.FirstOrDefault();st.lb.Items.Add(iem.课号+ "\t" + iem.学号+ "\t" + iem.学生姓名+ "\t" + iem.性别+ "\t" + iem.成绩);}}}st.Show();}else{MessageBox.Show("该老师今年没有教授任何课程");return;}}private void label6_Click(object sender, EventArgs e){db = new DataClasses1DataContext();var ss = from s in db.Teach where s.Tno == erName select s;if (ss != null){GradeChange gc = new GradeChange();foreach (var item in ss){if (item.Tcno.StartsWith("X")){var s1 = from s in db.Student where s.Skehao == item.Tcno select new { 课号= s.Skehao, 学号= s.Sno, 学生姓名= s.Sname, 性别= s.Ssex, 成绩= s.Sgrade };gc.lb.Items.Add("课号\t学号\t\t姓名\t性别\t成绩");foreach (var im in s1){gc.lb.Items.Add(im.课号+ "\t" + im.学号+ "\t" + im.学生姓名+ "\t" + im.性别+ "\t" + im.成绩);}}else{var s1 = from s in db.Grade where s.Gkehao == item.Tcno select s;gc.lb.Items.Add("课号\t学号\t\t姓名\t性别\t成绩");foreach (var itm in s1){var s2 = from s in db.Student where s.Sno == itm.Gxuehao select new { 课号= itm.Gkehao, 学号= itm.Gxuehao, 学生姓名= s.Sname, 性别= s.Ssex, 成绩= itm.Ggrade };var iem = s2.FirstOrDefault();gc.lb.Items.Add(iem.课号+ "\t" + iem.学号+ "\t" + iem.学生姓名+ "\t" + iem.性别+ "\t" + iem.成绩);}}}gc.Show();}else{MessageBox.Show("该老师今年没有教授任何课程");return;}}}}七、设计总结在本次数据库课设中,我设计的是教务管理系统,实现了不同的用户如学生,老师,管理员等进入不同的界面,享有不同的权限,访问不同数据。