学生成绩管理系统
学生成绩管理系统

学生成绩管理系统学生成绩管理系统是现代教育管理中一种重要的工具,它通过科技手段实现对学生学业情况的全面监测和评估。
学生成绩管理系统能够及时记录学生成绩,对学生学习情况进行分析和反馈,为学校和家长提供有关学生学业发展的重要信息。
本文将从学生成绩管理系统的定义、功能和优势三个方面进行探讨,以期了解学生成绩管理系统对教育管理的积极影响。
学生成绩管理系统是一种基于互联网的教学管理工具,它通过网络互联和数据存储技术,对学生的学习情况进行有效管理和分析。
学生成绩管理系统的核心功能包括学生成绩记录、统计、分析和反馈。
学生成绩记录是指将学生的考试成绩、作业成绩等数据录入系统中进行保存和管理,以便于学校和教师随时查阅。
学生成绩统计是指根据学生成绩数据进行统计和分析,得出班级、年级、学校甚至全市、全国范围内学生学习情况的综合指标。
学生成绩分析是指通过对学生成绩数据进行深入分析,探究学生学习特点、强项和薄弱点,为教学设计和评估提供依据。
学生成绩反馈是指将学生成绩情况及时反馈给学生、家长和教师,帮助他们了解学生的学业发展状况,并及时进行调整和指导。
学生成绩管理系统的功能非常丰富,可以满足各个教育管理环节的需求。
首先,学生成绩管理系统可以有效提高教务管理效率。
传统的成绩管理方式往往需要耗费大量人力物力进行成绩记录和统计工作,而学生成绩管理系统能够自动完成这些任务,大大减轻了教务人员的工作负担。
其次,学生成绩管理系统可以为教学设计和评估提供科学依据。
通过对学生成绩数据进行深入分析和比较,教师可以了解学生的学习水平和特点,为针对性教学提供支持。
再次,学生成绩管理系统可以促进学生、家长和教师之间的沟通和合作。
通过及时的成绩反馈和学业信息共享,学生和家长可以了解学生在学校的学业状况,及时与教师进行沟通和交流,共同关注学生的学习发展。
最后,学生成绩管理系统还可以提供学生综合素质评价的参考依据。
学生成绩管理系统不仅仅可以记录和统计学生的考试成绩,还可以记录学生的课堂表现、作业完成情况、课外活动等能力表现,为学生的个性化发展提供指导。
学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一个用于管理学生的学习成绩的系统。
下面是该系统的数据流程图:1. 学生信息录入流程:- 学生信息管理员将学生的基本信息录入系统中,包括学生的姓名、学号、班级等。
- 系统生成一个惟一的学生ID,并将学生ID与学生的基本信息关联起来。
- 学生信息管理员将学生的课程信息录入系统中,包括课程名称、课程代码等。
- 系统生成一个惟一的课程ID,并将课程ID与课程信息关联起来。
2. 成绩录入流程:- 教师登录系统后,选择要录入成绩的课程。
- 系统显示该课程下的所有学生列表。
- 教师选择要录入成绩的学生,并输入学生的成绩。
- 系统将成绩与学生ID和课程ID关联起来,并存储在数据库中。
3. 成绩查询流程:- 学生登录系统后,选择要查询成绩的课程。
- 系统显示该课程下的该学生的成绩。
4. 成绩统计流程:- 教师登录系统后,选择要统计成绩的课程。
- 系统显示该课程下的所有学生列表及其成绩。
- 教师可以选择按照成绩排序,计算平均成绩等。
二、数据字典下面是学生成绩管理系统的数据字典,包括实体和属性的定义:1. 学生(Student)实体:- 学生ID(StudentID):惟一标识学生的ID。
- 姓名(Name):学生的姓名。
- 学号(StudentNumber):学生的学号。
- 班级(Class):学生所在的班级。
2. 课程(Course)实体:- 课程ID(CourseID):惟一标识课程的ID。
- 课程名称(CourseName):课程的名称。
- 课程代码(CourseCode):课程的代码。
3. 成绩(Grade)实体:- 学生ID(StudentID):学生的ID。
- 课程ID(CourseID):课程的ID。
- 成绩(Score):学生在该课程中的成绩。
4. 用户(User)实体:- 用户ID(UserID):惟一标识用户的ID。
- 用户名(Username):用户的用户名。
学生成绩管理系统设计报告

附录一应用程序综合设计汇报——题目: 学生成绩管理系统2023年1月1.需求分析学生成绩管理系统是学生管理系统旳重要构成部分, 对学生旳德、智、体全面评估有很大旳作用, 因此学生成绩管理系统应当可认为顾客提供以便旳查询平台和数据存储功能。
老式是使用人工旳方式对学生旳信息进行存储, 对于个人旳学生成绩来说, 数据旳整顿和分析就显得很麻烦, 不利于查找、更新和维护。
因此, 顾客但愿制作一种学生成绩管理系统, 来提高老师旳工作效率, 同步予以老师便利。
根据与顾客旳交流, 一般对学生成绩管理系统有如下几点旳规定:A.可认为顾客提供以便旳数据查询功能, 满足复杂、多样旳数据查询需求。
一般我们所需要旳数据都不是可以从原始数据库中直接读取旳, 往往需要一定旳加工, 这样才能使老式复杂旳人工操作变得简朴又精确。
B、成绩管理要可以提供学校考试安排旳管理, 学生考试成绩旳管理, 以及学生单科和总成绩旳记录和分析等功能。
这些是一种学生成绩管理系统最重要旳功能构成, 包括数据旳集成、整合和分析。
上述是顾客对系统需求和功能需求旳两点规定, 我根据顾客对功能旳需求, 将整个学生成绩管理系统提成两个大旳模块, 即基本信息设置模块和成绩管理模块(如图1)。
为了能使本系统可以基本独立, 通过度析, 我又添加了学生基本信息添加功能和班级基本信息添加功能, 这样系统就可以实现本系统旳全面界面化。
2.概要设计根据需求分析, 成绩管理系统重要是实现对考试和学生成绩旳管理功能, 我设计旳整个学生成绩管理系统分为两个大旳模块, 分别为基本信息设置模块和成绩管理模块, 这两个模块包括了成绩管理系统旳所有数据存储和功能需求, 为了愈加清晰了分解学生成绩管理系统, 每个大模块又由几种子功能模块构成, 完毕顾客旳需求。
两个大模块旳子模块详细划分如图2所示:基本信息设置是成绩管理系统中某些基本数据旳添加和修改, 为了可以实现本学生成绩管理系统旳独立性, 我在基本信息设置模块中添加了学生和班级信息添加模块, 以便顾客能直接添加新增旳数据, 而不需要通过程序员来完毕。
学生成绩管理系统设计与实现

学生成绩管理系统设计与实现一、本文概述本文旨在深入探讨学生成绩管理系统的设计与实现过程。
随着信息技术的快速发展和普及,教育领域对于信息化、智能化的需求日益增强。
学生成绩管理系统作为学校教育管理信息化的重要组成部分,其设计与实现对于提高教育管理水平、优化教育资源分配、促进教育教学改革具有重要意义。
本文将首先介绍学生成绩管理系统的基本概念、功能和作用,随后详细阐述系统的设计原则、设计思路和设计方法,包括系统架构、数据库设计、用户界面设计等方面。
在此基础上,本文将进一步探讨学生成绩管理系统的实现过程,包括系统开发的编程语言、开发环境、关键技术等,以及系统测试、部署和维护的策略和方法。
本文将总结学生成绩管理系统的设计与实现过程中的经验教训,展望未来的发展方向和应用前景。
通过本文的阐述,希望能够为读者提供一个全面、深入的学生成绩管理系统设计与实现的理论指导和实践参考。
二、系统需求分析在设计和实现学生成绩管理系统之前,对系统需求进行深入分析是至关重要的。
系统需求分析阶段的目标是明确系统的功能需求、性能需求、安全需求以及用户需求,为后续的系统设计和实现提供明确的指导。
我们需要明确系统的功能需求。
学生成绩管理系统应能够实现对学生成绩的基本管理,包括成绩的录入、查询、修改、删除等操作。
同时,系统还应提供成绩统计和报表生成功能,以便于教师和管理人员对学生成绩进行分析和评估。
系统还应支持成绩的导入和导出功能,以便于与其他系统进行数据交换。
我们需要考虑系统的性能需求。
学生成绩管理系统应具备良好的性能和稳定性,能够处理大量数据的存储和访问。
同时,系统还应具备良好的响应速度,确保用户在进行成绩管理操作时能够获得流畅的体验。
系统的安全需求也是不可忽视的。
学生成绩管理系统应采取有效的安全措施,保护数据的机密性和完整性。
例如,系统应设置用户权限管理功能,对不同用户设置不同的访问权限,以防止未经授权的访问和数据泄露。
同时,系统还应采用加密技术,对敏感数据进行加密存储和传输,确保数据的安全性。
学生成绩信息管理系统

学绩信息管理系统学绩信息管理系统文档1. 系统简介1.1 目的和背景1.2 功能概述2. 用户需求分析2.1 学生用户需求- 查看个人成绩记录及排名情况。
- 提交作业、报告等课程相关文件。
- 查询选修课程信息并进行选课操作。
2.2 教师用户需求- 录入学绩,并计算平均分与班级排名。
- 发布作业、考试安排以及其他通知事项给学生。
3.系统设计与架构3.1数据库设计-设计数据库表结构,包括:学生表、教师表、科目表等。
3-2功能模块划分-划定各个子模块职责范围,如登录认证模块, 成绩录入/查询模块, 文件模块等。
4.详细功能描述4-1登陆注册–实现不同角色(管理员/老师/學生)登錄註冊功能,包含用戶驗證與權限控制部分。
4-2成績查詢–允许學生根据条件查询个人成绩,并显示排名情况。
4-3成績录入–允许教师输入学绩,系统自动计算平均分与班级排名,并提供相应的错误提示功能。
4-4 文件- 学生可以提交作业、报告等文件;老师可发布课程资料给学生。
5. 系统测试5.1 单元测试- 对每个模块进行单元测试以验证其正确性和稳定性。
6.部署与运行环境6-1硬件需求-列出服务器及客户端所需要的硬件配置要求。
6-2软件需求-列出操作系統, 数据库管理系统和其他必须安装在服务器上的软体需求。
7.附件8.法律名词及注释:- GDPR(General Data Protection Regulation):欧洲通用数据保护条例,是为了加强对于公民隐私权利和信息处理规范而制定的一项监管政策。
- COPPA (Children's Online Privacy Protection Act):儿童在线隐私保护法案,在美国旨在增强对13岁以下孩子们网络活动中收集到他们身份信息使用者责任意识方面做了规定。
- FERPA (Family Educational Rights and Privacy Act):家庭教育权利和隐私法案,是美国一项旨在保护学生个人信息的联邦法律。
uml学生成绩管理系统

UML学生成绩管理系统简介UML学生成绩管理系统是一个用于管理学生的学业成绩的系统。
该系统可以帮助学校或教育机构轻松管理学生的课程成绩和学术表现。
功能特点1.学生管理:系统可以存储学生的个人信息,包括姓名、年龄、性别和联系方式。
2.课程管理:系统可以管理学生的课程信息,包括课程名称、授课教师、学分和上课时间。
3.成绩管理:系统可以记录学生的考试成绩和平时表现,并生成成绩报告。
4.统计分析:系统可以根据学生的成绩数据进行统计分析,包括平均成绩、最高成绩和最低成绩等。
5.导出报告:系统可以将学生的成绩报告导出为Excel或PDF格式,方便学校和教师查看和分析学生成绩。
UML类图下面是UML类图表示了学生成绩管理系统的设计和关系。
```plantuml @startumlclass Student { - id: int - name: string - age: int - gender: string - contact: string + getID(): int + getName(): string + getAge(): int + getGender(): string + getContact(): string + setID(id: int): void + setName(name: string): void + setAge(age: int): void + setGender(gender: string): void +setContact(contact: string): void }class Course { - id: int - name: string - teacher: string - credit: int - schedule: string + getID(): int + getName(): string + getTeacher(): string + getCredit(): int + getSchedule(): string + setID(id: int): void + setName(name: string): void + setTeacher(teacher: string): void + setCredit(credit: int): void + setSchedule(schedule: string): void }class Grade { - student: Student - course: Course - score: int + getStudent(): Student + getCourse(): Course + getScore(): int + setStudent(student: Student): void + setCourse(course: Course): void + setScore(score: int): void }class GradeReport { - grades: List + addGrade(grade: Grade): void + removeGrade(grade: Grade): void + getAverageScore(): double + getMaxScore(): int + getMinScore(): int + generateReport(): void }Student。
数据库课程设计学生成绩管理系统
可以进一步加强系统的 安全性设计,如增加用 户权限管理、数据备份 与恢复等功能,确保数 据的完整性和安全性。
THANKS
感谢观看
情况下的容错处理。
性能测试用例
设计针对不同用户数量和不同数据量 的测试用例,以验证系统的性能和稳
定性。
安全测试用例
设计针对系统安全性的测试用例,如 用户权限验证、数据加密传输等。
测试执行与结果分析
测试执行
按照测试计划和测试用例进行测试,记录测试结果和发现的问题 。
问题跟踪与修复
对发现的问题进行跟踪,确保问题得到及时修复,并重新进行测试 验证。
测试方法
采用黑盒测试和白盒测试相结合的方法,包括功能测试、 性能测试、安全测试等。
测试范围
包括系统的所有功能模块,如学生信息管理、课程管理、 成绩录入与查询、报表生成等。
测试资源
包括测试人员、测试环境、测试数据等。
测试用例设计
功能测试用例
针对系统的每个功能模块设计测试用 例,包括正常情况下的操作以及异常
系统功能实现
课程信息管理
实现课程基本信息的录入、修 改、查询和删除功能。
报表生成
根据需求生成各类报表,如学 生成绩单、课程统计表等。
学生信息管理
实现学生基本信息的录入、修 改、查询和删除功能。
成绩录入与查询
实现学生成绩的录入、修改、 查询和删除功能,支持批量导 入成绩数据。
权限管理
实现不同用户角色的权限管理 ,确保系统的安全性和稳定性 。
常见问题与解决方案
数据库连接问题
检查数据库连接配置是否正确,确保数据库服务 正常运行,并尝试重新启动数据库服务或修复连 接问题。
系统性能下降
学生成绩管理系统
学生成绩管理系统学生成绩管理系统是一个用于管理、记录和分析学生学习成绩的工具。
它可以帮助学校、教师和家长更好地了解学生的学习情况,提供个性化的教学指导和辅导。
本文将介绍学生成绩管理系统的功能、优势以及在实际应用中的作用。
一、功能介绍1. 学生信息管理:学生成绩管理系统可以存储和管理学生的个人信息,包括姓名、班级、学号、家庭联系方式等。
教师和学校可以通过系统快速查找和更新学生信息。
2. 成绩录入与查询:学生的各科成绩可以通过系统进行录入和查询。
教师可以根据学科、班级或学生姓名进行成绩查询,及时了解学生的学习情况。
3. 成绩分析与报告:学生成绩管理系统可以根据学生的成绩数据生成详细的成绩分析报告。
通过分析学生在不同科目、不同时间段的表现,教师可以更好地评估学生的学习水平和进步空间,及时调整教学内容和方法。
4. 学习计划和目标设定:学生成绩管理系统可以帮助学校和教师制定学生个性化的学习计划和目标。
根据学生的历史成绩和评估结果,系统可以推荐适合学生的学习资源和教材,提供针对性的学习建议。
5. 家校互动平台:学生成绩管理系统还提供了家校互动的功能,家长可以通过系统查看学生的成绩和评语,与教师进行实时沟通。
教师可以向家长发布通知、作业、考试安排等信息,促进学校和家庭的紧密合作。
二、系统优势1. 提高工作效率:学生成绩管理系统可以自动化完成学生信息管理、成绩录入和查询等繁琐的工作,节省教师和学校的时间和精力。
2. 数据准确性:通过使用学生成绩管理系统,可以避免人为录入错误和纰漏,确保学生成绩数据的准确性和完整性。
3. 个性化分析:学生成绩管理系统提供了丰富的成绩分析功能,可以根据学生的特点和需求进行个性化评估和辅导,促进学生全面发展。
4. 促进教学改进:通过对学生成绩进行全面分析,教师可以及时发现学生的薄弱环节和问题,采取有针对性的教学改进措施,提高教学效果。
5. 加强家校联系:学生成绩管理系统提供了家校互动平台,方便教师和家长之间及时沟通,共同关注学生的学习情况和发展。
学生成绩管理系统分析
学生成绩管理系统分析学生成绩管理系统是一种用于帮助学校或教育机构管理学生成绩的计算机软件系统。
它能够实现学生成绩的录入、计算、分析和报告等功能,有效提升学校教务管理的效率,并为教师、学生及家长提供更好的数据支持,帮助他们更好地了解学生表现和发挥潜力。
本文将对学生成绩管理系统进行详细分析,包括系统的基本功能、优势和意义,以及如何实施和使用该系统。
一、学生成绩管理系统的基本功能学生成绩管理系统主要包含以下基本功能:1.学生成绩录入:教师可以使用该系统将学生的分数和成绩相关信息录入系统数据库中,确保数据的准确性和完整性。
2.学生成绩查询:学校教务管理人员、教师、学生及家长都可以通过该系统查看学生成绩,包括单科成绩、总评成绩、排名和学生课程表等。
3.成绩统计与分析:系统可以对学生成绩进行统计和分析,包括成绩分布、班级平均成绩、学科排名等,帮助学校更好地了解学生的学习情况。
4.成绩报告和成绩单生成:系统可以根据学生的成绩数据自动生成成绩报告和成绩单,并且可以通过电子邮件或系统内部消息的方式发送给学生或家长。
5.异常成绩监测和预警:系统可以根据设定的规则和学生成绩数据,实时监测学生的成绩情况,对于低于预期的成绩进行预警,及时进行干预和教育。
二、学生成绩管理系统的优势和意义学生成绩管理系统的实施和使用可以为学校、教师、学生及家长带来诸多优势和意义:1.提高工作效率:学生成绩管理系统自动化了学生成绩的录入、计算和统计等工作,减少了繁琐的手工操作,提高了工作效率。
2.减少人为错误:由于系统自动计算和存储学生成绩数据,减少了手动录入错误和数据丢失的可能性,确保了成绩数据的准确性。
3.提供数据支持:学生成绩管理系统可以生成各种报表和统计数据,为学校领导、教师和家长提供更好的数据支持,用于评估学生的学习情况和制定教学计划。
4.促进家校合作:学生家长可以通过系统查询和监测学生成绩,及时了解孩子的学习情况,并与教师共同讨论和制定适合孩子的学习计划,促进家校合作。
学生成绩管理系统
学生成绩管理系统简介学生成绩管理系统是一种用于管理学生的学业成绩和相关信息的软件系统。
它可以帮助学校、教师和学生有效地管理和查询学生的成绩,提供全面的成绩分析和统计功能,促进教学质量的提高。
功能学生成绩管理系统通常具有以下核心功能:1.学生信息管理:包括学生的基本信息、课程注册、班级信息等。
2.成绩录入:教师可以登录系统,录入学生成绩,并进行相应的成绩审核和修改。
3.成绩查询:学生、教师和学校管理者均可通过系统查询学生成绩,可以按照学生、班级、课程等维度进行灵活查询。
4.成绩统计与分析:系统可以对成绩数据进行统计和分析,生成各类成绩报告和分析图表,为教师和学校提供决策依据。
5.成绩排名:系统可以根据学生成绩进行排名,可以按照总分、班级、课程等维度进行排名。
6.数据导入导出:系统可以支持将学生成绩数据导入导出到Excel、CSV等格式,方便学校的数据管理。
优势学生成绩管理系统的应用带来诸多优势:1.提高工作效率:通过系统自动化处理和统计成绩数据,节省了大量的人力和时间成本。
2.提供准确的数据:系统可以准确地计算和记录学生成绩,避免了人工计算和录入带来的错误。
3.提供个性化服务:学生成绩管理系统可以根据学生的不同需求提供个性化的信息查询和分析功能,满足学生个性化的学习需求。
4.提供全面的分析和决策支持:系统可以生成各类成绩报告和分析图表,帮助教师和学校进行成绩分析和决策。
5.提高教学质量:通过系统对学生成绩进行全方位的管理和分析,有助于教师了解学生的学习状况,及时调整教学方法,提高教学质量。
使用场景学生成绩管理系统适用于各类学校、教育机构以及在线教育平台的学生成绩管理需求。
以下是几个典型的使用场景:1.学校管理者可以通过系统了解学校整体的学生成绩情况,进行综合分析和决策。
2.教师可以通过系统录入学生成绩、排名、查询历史成绩等,方便管理学生成绩和进行个性化教学。
3.学生可以通过系统查询自己的成绩、查看排名等,及时了解自己的学习状况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#课程设计姓名:班级:学号:指导老师:简介该系统是用Visua Studio2010和Access 2007,通过C#语言进行相关代码的编写,生成相关程序。
学生成绩管理系统是构建于Visual C#.NET平台上的Windows应用程序。
本文描述的是基于Windows环境的学生成绩管理系统,主要工具Microsoft Visual Studio 2010 设计窗体,Access 2007建立数据库, 学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,删除,查询,维护以及成绩的统计分析等几方面的功能,是现实问题的迫切要求。
本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。
涉及到学生信息管理的基本功能在本报告中都有相应的描述。
管理信息系统正在向着网络化、智能化和集成化等趋势发展。
学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。
它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。
在这次的课程设计中,让我了解到Microsoft Visual Studio 2010,同时学习了Access数据库的建立和连接与导入。
能在Visual C#.NET平台上进行Access数据库的修改与控制,将C#语句与SQL语句混合使用,成功的完成了学生成绩管理系统的整体设计,加深巩固了选择的条件语句,还有曾经学习过的基本运算语句,同时也为以后的进一步学习垫下了了良好的基础。
目录第一章绪论 (4)1.1设计目的 (4)1.2开发工具选择 (4)1.3开发环境 (4)第二章需求分析 (5)2.1系统目标 (5)2.2功能需求分析 (6)2.3性能需求分析 (6)第三章总体设计 (7)3.1设计概述 (7)3.1功能模块设计 (7)第四章数据库设计 (8)4.1数据库需求分析 (8)4.2数据库表设计 (9)第五章详细设计 (10)5.1系统程序流程图 (11)5.2系统主要功能模块 (13)5.2.1系统登录 (13)5.2.2学生登录模块 (15)5.2.3管理员登录模块 (20)第六章总结 (41)第一章绪论1.1 课程设计目的本次课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和.net的应用,复习熟练基本运算符,和基本的条件语句、判断语句,将Access的使用和Microsoft Visual Studio 2010的使用结合起来,希望通过本次的课程设计锻炼我们使用C#语言解决实际问题的能力。
1.2 系统开发环境系统开发平台:Microsoft Visual Studio 2010 系统开发语言C# 数据库管理软件:Access 系统开发程序本系统后台数据库采用Access 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与Access 2007数据库无缝链接。
1.4 报告主要内容本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:系统的需求分析、系统的总体设计设计思路、系统的数据库设计、系统各模块的详细设计、系统运行测试。
第二章需求分析2.1系统设计目标(1)登录模块中,有不同的权限设置,分为学生登录和管理员登录(2)学生用户可根据不同的用户名和相应的密码进行登录,并可修改密码。
(3)管理员可以根据不同的用户名和相应的密码进行登录,并可修改密码。
(4)学生界面中学生可以按照姓名,学号,邮箱来查询成绩(5)管理员界面中管理员可以实现学生成绩的录入,删除,修改,查询,成绩的分析,将成绩导出到Excel表中,还可以根据成绩画出柱状图。
2.2 功能需求分析本系统的功能需求分析如下:(1) 学生密码修改:学生可在成功登录后对自己的密码进行修改,以防个人信息外泄。
(2) 学生成绩查询:学生根据姓名,学号,邮箱进行查询。
(3) 学生成绩和信息的录入:用于学生成绩管理,录入学生成绩和学生个人信息,也可以实现对成绩的其他操作。
2.3 性能需求分析(1) 登录、用户界面需求:简洁、易懂、易用、友好的用户界面。
(2) 安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管理,同时也可以进行密码修改。
(3) 数据分析需求:可根据学生要求进行条件查询,分不同的姓名,学号,邮箱进行相应查询。
(4) 数据统计要求:可对学生成绩和个人信息进行添加更改和删除。
第三章总体设计3.1 设计总体概述根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。
把这些模块结合起来组成一个整体。
逐一实现各个功能;3.2功能模块设计(1)登录模块,根据不同权限,链接数据库,然后登录。
(2)管理员登录模块,在此模块中有成绩查询,修改,删除,添加,分析,导出Excel表,绘出矩形图,退出登录,帮助,密码修改等功能模块。
(3)学生登录模块,在此模块中有查询,退出登录,帮助,密码修改等模块功能。
(4)成绩查询模块,连接数据库,用SELECT语句实现(5)成绩修改模块,连接数据库,用UPDATE语句实现(6)成绩删除模块,连接数据库,用DELETE语句实现(7)成绩添加模块,连接数据库,用INSERT语句插入实现(8)成绩分析模块,连接数据库,读出数据库中的成绩,按照个门成绩分别求出他们的最高分,最低分,平均分等。
(9)导出Excel表模块,将想要保存的信息导出到Excel表中(10)绘出矩形图模块,根据成绩分析模块绘出矩形图。
(11)退出登录模块,退出当前登录,切换用户(12)帮助模块,给与一些非法操作的解决办法(13)密码修改模块,修改当前用户的密码第四章数据库设计4.1数据库需求分析数据库中存储学生的基本信息和成绩、管理员和学生的登录号和密码。
4.2数据库的E-R图如下4.3数据库表设计本系统在登录时需要验证使用者的身份,用户需要输入用户名和密码,所建立的数据库表如下: 1、管理员表: 2、学生表:3、学生基本信息和成绩表:第五章 详细设计5.1 系统总体结构经过对系统的需求分析,学生成绩管理系统主要划分为两个部分:学生成绩查询,管理员模块。
5.1.2管理员登录模块5.2系统主要功能模块模块登录:代码:private void buttonLogin_Click(object sender, EventArgs e){//判断登录状态并弹出对应提示框{MessageBox.Show("请输入用户名或密码");}else{{string user = BoxUser.Text;string password = BoxPassword.Text;strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();OleDbCommand objCommand = new OleDbCommand("select * from student", objConnection);DataSet ds = new DataSet();OleDbDataAdapter sda= new OleDbDataAdapter("select * from student ", objConnection);;sda.Fill(ds, "student");OleDbDataReader reader = objCommand.ExecuteReader();int i;for (i = 0; i < ds.Tables["student"].Rows.Count; i++){reader.Read();if (reader["username"].Equals(user) &&reader["password"].Equals(password)){this.DialogResult = DialogResult.OK;this.Close();break;}}if (i == ds.Tables["student"].Rows.Count)MessageBox.Show("用户名或者密码输入有误!");// 关闭Reader.reader.Close();objConnection.Close();}{strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();OleDbCommand objCommand = new OleDbCommand("select * from admin", objConnection);DataSet ds = new DataSet();OleDbDataAdapter sda = new OleDbDataAdapter("select * from admin ", objConnection); ;sda.Fill(ds, "admin");OleDbDataReader reader = objCommand.ExecuteReader();int i;for (i = 0; i < ds.Tables["admin"].Rows.Count; i++){reader.Read();if (reader["username"].Equals(user) &&reader["password"].Equals(password)){this.DialogResult = DialogResult.OK;this.Close();break;}}if (i == ds.Tables["admin"].Rows.Count)MessageBox.Show("用户名或者密码输入有误!");// 关闭Reader.reader.Close();objConnection.Close();}}}(1)学生界面模块(2)成绩查询模块代码://查询学生信息string checkInfo = "";strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();OleDbCommand objCommand = new OleDbCommand("select * from information", objConnection);OleDbDataReader reader = objCommand.ExecuteReader();switch (flag) //分别根据姓名,学号,邮箱查询学生信息{case 1:break;case 2:break;case 3:break;}if (checkInfo.Length == 0 || checkInfo.Trim() == string.Empty){//输入查询信息为空,直接列出所有学生信息this.init(reader);}else{//依据输入查询信息checkInfo查询学生信息并显示到显示区while (reader.Read()){if (reader["name"].ToString().Equals(checkInfo) ||reader["studentID"].ToString().Equals(checkInfo)|| reader["email"].ToString().Equals(checkInfo)){ListViewItem lvi = new ListViewItem(reader["name"].ToString());}}}// 关闭Reader.reader.Close();objConnection.Close();(3)密码修改模块代码:private void toolStripMenuItem8_Click(object sender, EventArgs e){xiugaimima2 xiu = new xiugaimima2();xiu.Show();}private void button1_Click(object sender, EventArgs e){string user = tbusername.Text;string password = tbpassword.Text;strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();OleDbCommand objCommand = new OleDbCommand("select * from student", objConnection);DataSet ds = new DataSet();OleDbDataAdapter sda = new OleDbDataAdapter("select * from student ", objConnection); ;sda.Fill(ds, "student");OleDbDataReader reader = objCommand.ExecuteReader();int i;for (i = 0; i < ds.Tables["student"].Rows.Count; i++){reader.Read();if (reader["username"].Equals(user) && reader["password"].Equals(password)){re [username]= '" + user + "'";OleDbCommand cmd = new OleDbCommand(s, objConnection);cmd.ExecuteNonQuery();MessageBox.Show("修改成功!");break;}}if (i == ds.Tables["student"].Rows.Count)MessageBox.Show("请确认密码!");// 关闭Reader.reader.Close();objConnection.Close();}(4)退出登录模块private void toolStripMenuItem1_Click(object sender, EventArgs e){Application.Restart();}(5)帮助模块private void toolStripMenuItem4_Click(object sender, EventArgs e){MessageBox.Show("请确定是不是没考!");}private void toolStripMenuItem6_Click(object sender, EventArgs e){MessageBox.Show("请联系管理员!");}private void toolStripMenuItem7_Click(object sender, EventArgs e){MessageBox.Show("请联系老师!");}(1)管理员界面模块(2)成绩添加模块代码:private void toolStripMenuItem3_Click(object sender, EventArgs e){//初始化信息录入窗口,进行输入InfoInput inputForm = new InfoInput();inputForm.Show();}private void buttonAdd_Click(object sender, EventArgs e){//将学生信息录入string sex;sex = "男";elsesex = "女";strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);OleDbCommand cmd = new OleDbCommand("insert into [information] " + "([name],[studentID],[class],[sex],[email],[courseOne],[courseTwo],[courseThree])values ('" + objConnection.Open();//添加成功或失败分别弹出对应提示框{this.Close();}elseMessageBox.Show("添加失败,请确定是否添加该同学相关信息");objConnection.Close();}(3)成绩查询模块代码:private void toolStripMenuItem1_Click(object sender, EventArgs e){//查询学生信息string checkInfo = "";strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();OleDbCommand objCommand = new OleDbCommand("select * from information", objConnection);OleDbDataReader reader = objCommand.ExecuteReader();switch (flag) //分别根据姓名,学号,邮箱查询学生信息{case 1:break;case 2:break;case 3:break;}if (checkInfo.Length == 0 || checkInfo.Trim() == string.Empty){//输入查询信息为空,直接列出所有学生信息this.init(reader);}else{//依据输入查询信息checkInfo查询学生信息并显示到显示区while (reader.Read()){if (reader["name"].ToString().Equals(checkInfo) ||reader["studentID"].ToString().Equals(checkInfo)|| reader["email"].ToString().Equals(checkInfo)){ListViewItem lvi = new ListViewItem(reader["name"].ToString());}}}// 关闭Reader.reader.Close();objConnection.Close();}(4)成绩修改模块代码:private void toolStripMenuItem2_Click(object sender, EventArgs e){MessageBox.Show("未选中修改项!");else{xiugai xi = new xiugai();strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();OleDbCommand objCommand = new OleDbCommand("select * from information where name='"OleDbDataReader reader = objCommand.ExecuteReader();reader.Read();//sex = reader["sex"].ToString();if (reader["sex"].ToString() == "男")else//objConnection.Close();//objCommand.ExecuteNonQuery();objConnection.Close();xi.Show();}}private void button1_Click(object sender, EventArgs e){string sex;sex = "男";elsesex = "女";strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();cmd.ExecuteNonQuery();objConnection.Close();MessageBox.Show("修改成功!");}(5)成绩删除模块代码:private void toolStripMenuItem4_Click(object sender, EventArgs e){MessageBox.Show("未选中删除项!");else{strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);OleDbCommand cmd = new OleDbCommand("delete from information where name='"objConnection.Open();cmd.ExecuteNonQuery();objConnection.Close();MessageBox.Show("删除成功!");}}(6)成绩分析模块代码:private void toolStripMenuItem5_Click(object sender, EventArgs e){cjfenxi cj = new cjfenxi();cj.Show();OleDbDataAdapter sda;DataSet ds;OleDbConnection objConnection;strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";objConnection = new OleDbConnection(strConnection);ds = new DataSet();objConnection.Open();sda = new OleDbDataAdapter("select * from information ", objConnection);OleDbCommand objCommand = new OleDbCommand("select courseOne from information", objConnection);OleDbDataReader reader = objCommand.ExecuteReader();sda.Fill(ds, "information");DataTable dtb = new DataTable();sda.Fill(dtb);DataRow[] dd = dtb.Select("courseOne=courseOne");//*********// int k = ds.Tables["information"].Rows.Count;Int32 sum = 0;Int32 max = 0, min = 100;Int32 i = 0, m = 0, n = 0;foreach (DataRow dr in dd){sum += Convert.ToInt32(dr["courseOne"].ToString());}for (int j = 0; j < dd.Length; j++){if ((Convert.ToInt32(dd[j]["courseOne"].ToString())) >= max)max = Convert.ToInt32(dd[j]["courseOne"].ToString());if ((Convert.ToInt32(dd[j]["courseOne"].ToString())) <= min)min = Convert.ToInt32(dd[j]["courseOne"].ToString());if ((Convert.ToInt32(dd[j]["courseOne"].ToString())) >= 0 && (Convert.ToInt32(dd[j]["courseOne"].ToString())) <= 60)i++;else if ((Convert.ToInt32(dd[j]["courseOne"].ToString())) >= 60 && (Convert.ToInt32(dd[j]["courseOne"].ToString())) <= 80)m++;elsen++;}float avg = (float)sum / (dd.Length);float jg = (float)i / (dd.Length);reader.Read();// 将检索出来的数据,输出到listViewInfo(窗体显示区)ListViewItem lvi = new ListViewItem("语文");//***************************DataRow[] dd1 = dtb.Select("courseTwo=courseTwo");//*********Int32 sum1 = 0;Int32 max1 = 0, min1 = 100;Int32 i1 = 0, m1 = 0, n1 = 0;foreach (DataRow dr in dd1){sum1 += Convert.ToInt32(dr["courseTwo"].ToString());}for (int j = 0; j < dd1.Length; j++){if ((Convert.ToInt32(dd1[j]["courseTwo"].ToString())) >= max1)max1 = Convert.ToInt32(dd1[j]["courseTwo"].ToString());if ((Convert.ToInt32(dd1[j]["courseTwo"].ToString())) <= min1)min1 = Convert.ToInt32(dd1[j]["courseTwo"].ToString());if ((Convert.ToInt32(dd1[j]["courseTwo"].ToString())) >= 0 && (Convert.ToInt32(dd1[j]["courseTwo"].ToString())) <= 60)i1++;else if ((Convert.ToInt32(dd1[j]["courseTwo"].ToString())) >= 60 && (Convert.ToInt32(dd1[j]["courseTwo"].ToString())) <= 80)m1++;elsen1++;}float avg1 = (float)sum1 / (dd1.Length);float jg1 = (float)i1 / (dd1.Length);reader.Read();// 将检索出来的数据,输出到listViewInfo(窗体显示区)ListViewItem lvi1 = new ListViewItem("数学");//******************DataRow[] dd2 = dtb.Select("courseThree=courseThree");//*********Int32 sum2 = 0;Int32 max2 = 0, min2 = 100;Int32 i2 = 0, m2 = 0, n2 = 0;foreach (DataRow dr in dd2){sum2 += Convert.ToInt32(dr["courseThree"].ToString());}for (int j = 0; j < dd2.Length; j++){if ((Convert.ToInt32(dd2[j]["courseThree"].ToString())) >= max2)max2 = Convert.ToInt32(dd2[j]["courseThree"].ToString());if ((Convert.ToInt32(dd2[j]["courseThree"].ToString())) <= min2)min2 = Convert.ToInt32(dd2[j]["courseThree"].ToString());if ((Convert.ToInt32(dd2[j]["courseThree"].ToString())) >= 0 && (Convert.ToInt32(dd2[j]["courseThree"].ToString())) <= 60)i2++;else if ((Convert.ToInt32(dd2[j]["courseThree"].ToString())) >= 60 && (Convert.ToInt32(dd2[j]["courseThree"].ToString())) <= 80)m2++;elsen2++;}float avg2 = (float)sum2 / (dd2.Length);float jg2 = (float)i2 / (dd2.Length);reader.Read();// 将检索出来的数据,输出到listViewInfo(窗体显示区)ListViewItem lvi2 = new ListViewItem("英语");reader.Close();objConnection.Close();}(7)导出Excel表代码:private void toolStripMenuItem6_Click(object sender, EventArgs e){ExportClass MyExcel = new ExportClass();MyExcel.ListviewExportToExcel(listViewInfo, "学生信息");}class ExportClass{public void ListviewExportToExcel(ListView st, string strTitle){SaveFileDialog saveFileDialog = new SaveFileDialog();saveFileDialog.Filter = "Excel files (*.xlsx)|*.xlsx";saveFileDialog.FilterIndex = 0;saveFileDialog.RestoreDirectory = true;saveFileDialog.CreatePrompt = false;saveFileDialog.FileName = strTitle + ".xls";if (saveFileDialog.ShowDialog() == DialogResult.Cancel) //导出时,点击【取消】按钮{return;}Stream myStream = saveFileDialog.OpenFile();string strHeaderText = "";try{{strHeaderText += st.Columns[i].Text;strHeaderText += "\t";}sw.WriteLine(strHeaderText);string strItemValue = "";foreach (ListViewItem It in st.Items){strItemValue = "";{strItemValue += It.SubItems[j].Text;strItemValue += "\t";}sw.WriteLine(strItemValue);}}catch (Exception ex){MessageBox.Show(ex.Message, "软件提示!");throw ex;}finally{sw.Close();myStream.Close();}}}(8)绘出矩形图代码:private void toolStripMenuItem13_Click(object sender, EventArgs e){CreateImage();MessageBox.Show("绘图成功!");}//绘制图形*****************************************private void CreateImage(){int height = 500, width = 700;Bitmap image = new Bitmap(width, height);//创建Graphics类对象Graphics g = Graphics.FromImage(image);try{//清空图片背景色g.Clear(Color.White);Font font = new Font("Arial", 10, FontStyle.Regular);Font font1 = new Font("宋体", 20, FontStyle.Bold);LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height),Color.Blue, Color.BlueViolet, 1.2f, true);g.FillRectangle(Brushes.WhiteSmoke, 0, 0, width, height);// Brush brush1 = new SolidBrush(Color.Blue);g.DrawString(" 成绩统计柱状图", font1, brush, new PointF(70, 30));//画图片的边框线g.DrawRectangle(new Pen(Color.Blue), 0, 0, image.Width - 1, image.Height - 1);Pen mypen = new Pen(brush, 1);//绘制线条//绘制横向线条int x = 100;for (int i = 0; i < 14; i++){g.DrawLine(mypen, x, 80, x, 340);x = x + 40;}Pen mypen1 = new Pen(Color.Blue, 2);x = 60;g.DrawLine(mypen1, x, 80, x, 340);//绘制纵向线条int y = 106;for (int i = 0; i < 9; i++){g.DrawLine(mypen, 60, y, 620, y);y = y + 26;}g.DrawLine(mypen1, 60, y, 620, y);//x轴String[] n = { "0--60", "60--80", "80--100" };x = 96;for (int i = 0; i < 3; i++){g.DrawString(n[i].ToString(), font, Brushes.Blue, x, 348); //设置文字内容及输出位置x = x + 96;}//y轴String[] m = { "10", "9", "8", "7", "6", "5", "4", " 3", " 2", " 1", " 0" };y = 72;for (int i = 0; i < 10; i++){g.DrawString(m[i].ToString(), font, Brushes.Blue, 25, y); //设置文字内容及输出位置y = y + 26;}int[] Count1 = new int[3];int[] Count2 = new int[3];int[] Count3 = new int[3];strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();string cmdtxt2 = "select * from information";OleDbDataAdapter da = new OleDbDataAdapter(cmdtxt2, objConnection);DataSet ds = new DataSet();da.Fill(ds);DataTable dtb = new DataTable();da.Fill(dtb);DataRow[] dd = dtb.Select("courseOne=courseOne");Int32 h = 0, k = 0, p = 0;for (int j = 0; j < dd.Length; j++){if ((Convert.ToInt32(dd[j]["courseOne"].ToString())) >= 0 && (Convert.ToInt32(dd[j]["courseOne"].ToString())) <= 60)h++;else if ((Convert.ToInt32(dd[j]["courseOne"].ToString())) >= 60 && (Convert.ToInt32(dd[j]["courseOne"].ToString())) <= 80)k++;elsep++;}//Count1[]是语文的0--60,60--80,80--100的数字Count1[0] = h;Count1[1] = k;Count1[2] = p;//Count1[]是数学的0--60,60--80,80--100的数字DataRow[] dd1 = dtb.Select("courseTwo=courseTwo");//*********Int32 i1 = 0, m1 = 0, n1 = 0;for (int j = 0; j < dd1.Length; j++){if ((Convert.ToInt32(dd1[j]["courseTwo"].ToString())) >= 0 && (Convert.ToInt32(dd1[j]["courseTwo"].ToString())) <= 60)i1++;else if ((Convert.ToInt32(dd1[j]["courseTwo"].ToString())) >= 60 && (Convert.ToInt32(dd1[j]["courseTwo"].ToString())) <= 80)m1++;elsen1++;}Count2[0] = i1;Count2[1] = m1;Count2[2] = n1;//Count1[]是英语的0--60,60--80,80--100的数字DataRow[] dd2 = dtb.Select("courseThree=courseThree");Int32 i2 = 0, m2 = 0, n2 = 0;for (int j = 0; j < dd2.Length; j++){if ((Convert.ToInt32(dd2[j]["courseThree"].ToString())) >= 0 && (Convert.ToInt32(dd2[j]["courseThree"].ToString())) <= 60)i2++;else if ((Convert.ToInt32(dd2[j]["courseThree"].ToString())) >= 60 && (Convert.ToInt32(dd2[j]["courseThree"].ToString())) <= 80)m2++;elsen2++;}Count3[0] = i2;Count3[1] = m2;Count3[2] = n2;//绘制柱状图.x = 80;SolidBrush mybrush = new SolidBrush(Color.Red);SolidBrush mybrush2 = new SolidBrush(Color.Green);SolidBrush mybrush3 = new SolidBrush(Color.Blue);//0--60g.FillRectangle(mybrush, x, 115 - Count1[0], 20, Count1[0] * 26);g.DrawString(Count1[0].ToString(), font2, Brushes.Red, x, 115 - Count1[0] - 15);x = x + 20;g.FillRectangle(mybrush2, x, 115 - Count2[0], 20, Count2[0] * 26);g.DrawString(Count2[0].ToString(), font2, Brushes.Green, x, 115 - Count2[0] -15);x = x + 20;g.FillRectangle(mybrush3, x, 91 - Count3[0], 20, Count3[0] * 26);g.DrawString(Count3[0].ToString(), font2, Brushes.Blue, x, 91 - Count3[0] - 15);//60--80x = x + 60;g.FillRectangle(mybrush, x, 215 - Count1[1], 20, Count1[1] * 26);g.DrawString(Count1[1].ToString(), font2, Brushes.Red, x, 215 - Count1[1] - 15);x = x + 20;g.FillRectangle(mybrush2, x, 265 - Count2[1], 20, Count2[1] * 26);g.DrawString(Count2[1].ToString(), font2, Brushes.Green, x, 265 - Count2[1] -15);x = x + 20;g.FillRectangle(mybrush3, x, 240 - Count3[1], 20, Count3[1] * 26);g.DrawString(Count3[1].ToString(), font2, Brushes.Blue, x, 240 - Count3[1] - 15);//80--100x = x + 60;g.FillRectangle(mybrush, x, 290 - Count1[2], 20, Count1[2] * 26);g.DrawString(Count1[2].ToString(), font2, Brushes.Red, x, 290 - Count1[2] - 15);x = x + 20;g.FillRectangle(mybrush2, x, 240 - Count2[2], 20, Count2[2] * 26);g.DrawString(Count2[2].ToString(), font2, Brushes.Green, x, 240 - Count2[2] -15);x = x + 20;g.FillRectangle(mybrush3, x, 290 - Count3[2], 20, Count3[2] * 26);g.DrawString(Count3[2].ToString(), font2, Brushes.Blue, x, 290 - Count3[2] - 15);//绘制标识//g.DrawRectangle(new Pen(Brushes.Blue), 170, 400, 250, 50); //绘制范围框g.FillRectangle(Brushes.Red, 270, 410, 20, 10); //绘制小矩形g.DrawString("语文", font3, Brushes.Red, 292, 408);g.FillRectangle(Brushes.Green, 270, 430, 20, 10);g.DrawString("数学", font3, Brushes.Green, 292, 428);g.FillRectangle(Brushes.Blue, 270, 450, 20, 10);g.DrawString("英语", font3, Brushes.Blue, 292, 448);}finally{g.Dispose();image.Dispose();}}(9)退出登录模块和学生退出登录模块一样(10)密码修改代码:private void toolStripMenuItem14_Click(object sender, EventArgs e){xiugaimima xiu = new xiugaimima();xiu.Show();}private void button1_Click(object sender, EventArgs e){string user = tbusername.Text;string password = tbpassword.Text;strConnection += @"Data Source=" + Application.StartupPath +"\\StudentInfo.mdb";OleDbConnection objConnection = new OleDbConnection(strConnection);objConnection.Open();OleDbCommand objCommand = new OleDbCommand("select * from admin", objConnection);DataSet ds = new DataSet();OleDbDataAdapter sda = new OleDbDataAdapter("select * from admin ", objConnection); ;sda.Fill(ds, "admin");OleDbDataReader reader = objCommand.ExecuteReader();int i;for (i = 0; i < ds.Tables["admin"].Rows.Count; i++){reader.Read();if (reader["username"].Equals(user) && reader["password"].Equals(password)){//List<OleDbParameter> list = new List<OleDbParameter>();//string sql = "update admin set [password]=@pwd where [username]=@Name";OleDbCommand cmd = new OleDbCommand(s, objConnection);cmd.ExecuteNonQuery();MessageBox.Show("修改成功!");break;}}if (i == ds.Tables["admin"].Rows.Count)MessageBox.Show("请确认密码!");// 关闭Reader.reader.Close();objConnection.Close();}(11)帮助代码:private void toolStripMenuItem9_Click(object sender, EventArgs e){MessageBox.Show("登录不了,请确定密码中是否有非法字符!");}private void toolStripMenuItem12_Click(object sender, EventArgs e){MessageBox.Show("请确定该门课老师是否输入该学生成绩!");}第六章总结本次系统设计让我知道了进行管理系统开发这样的工作,要有恒心,要能静下新来做,而不能浮躁。