目 录
中文摘要 ......................................................................................................................................................... 2 英文摘要 ......................................................................................................................................................... 3 第一章 概述 ................................................................................................................................................... 4
1.1 开发前的准备 ................................................................................................................................. 4 1.2 开发设计的意义 ............................................................................................................................. 4 1.3 功能要求 ......................................................................................................................................... 4 第二章 学生信息管理系统介绍 ................................................................................................................... 5
2.1开发方案 .......................................................................................................................................... 5 2.2系统流程图 ...................................................................................................................................... 6 2.3 系统功能图 ..................................................................................................................................... 7 2.4 程序编写概要 ................................................................................................................................. 8 2.5 后台数据库简介 ............................................................................................................................. 9 第三章 主要功能的实现 ............................................................................................................................. 10
3.1 登陆系统功能的实现 ................................................................................................................... 10 3.2 修改学生信息功能的实现 ........................................................................................................... 11 第四章 系统测试 ......................................................................................................................................... 12
4.1 登陆系统运行界面 ....................................................................................................................... 12 4.2 主界面的形成 ............................................................................................................................... 13 4.3 增添学生信息功能的实现 ........................................................................................................... 14 4.4 删除学生信息功能的实现 ........................................................................................................... 15 4.5 查询学生信息功能的实现 ........................................................................................................... 16 4.6 修改学生信息功能的实现 ........................................................................................................... 17 4.7 修改密码功能的实现 ................................................................................................................... 18 4.8 注销系统功能的实现 ................................................................................................................... 20 4.9 退出系统功能的实现 ................................................................................................................... 21 4.10 后台数据库运行界面 ................................................................................................................. 22 第五章 程序设计结语 ................................................................................................................................. 23
5.1 系统存在的问题 ........................................................................................................................... 23 5.2 系统改进的方向 ........................................................................................................................... 23 5.3 此次课程设计的体会 ................................................................................................................... 23 参考文献 ....................................................................................................................................................... 24 附录 源代码 ................................................................................................................................................. 25
第 1 页 共 42 页
中文摘要
随着社会的发展,人民生活水平的提高,人们对教育的重视程度也随之增加,越来越多的人走入高等学府,由此,各所学校的学生数量也日益增加。这使得学校对学生的管理难度逐渐增大。而管理好学生信息是维护社会安定、提高教学质量、保证教学进度有条不紊进行的有力保障。由此可见,学生信息管理是一项极其重要的工作;同时,学生信息管理又是一项极其庞大的工作。那么,如何管理学生信息呢?
由于计算机技术的迅速发展和普及,如果用计算机来管理学生信息,则会使学生信息的管理工作变得更轻松。介于这种需求,学生信息管理系统便应运而生了。此次课程设计便是运用我们所学的知识试着设计一个学生信息管理系统,使其实现一些简单的基本过程。此学生信息管理系统的开发过程主要包括前端应用程序的开发和后台数据库的建立两个方面。主要任务就是建立基本数据库,后台程序主要负责的是管理上的各种功能。
经过分析,本系统以Microsoft SQL Server 2008为建立后台数据库的工具,以Visual studio 2008为前端开发工具,主要运用了SQL语句和C#语言进行编程。本系统实现了增添学生信息、删除学生信息、查找学生信息、修改学生信息以及登陆、注销、退出、修改密码等功能。其操作简单易学、界面清晰明了易于理解;操作人员不需要有很高的专业知识,容易普及推广;运行比较稳定,比较适合现在大学校园对学生信息的管理,能够有效提高信息处理的速度和准确度。
关键词 : 信息管理,SQL Server,Visual studio,C#,编程
第 2 页 共 42 页
英文摘要
With the development of society, the improvement of people's living standard, people to education value degree also will increase, more and more people come into higher learning, thus, the number of the students in the school was also increasing. This makes for the management of the school students difficulty increase gradually. And management good student information is maintaining social stability, improve the quality of teaching, teaching progress in an orderly way that the powerful guarantee. This shows, students' information management is a very important job; At the same time, the students' information management is a very large and work. So, how to manage student information?
Because of the rapid development of computer technology and popularization, if use computer to manage student information, can make student information management become more relaxed. Between this demand, students' information management system will emerge as The Times require. The course design is to use the knowledge we have try to design a students' information management system, make its implementing some simple basic process. The students' information management system including the development process of the main front application program development and the establishment of the backend database two aspects. The main task is to establish basic database, the background is mainly responsible for the management of the program is on the various functions.
Through analysis, the system to Microsoft SQL Server 2008 for the backend database, with Visual studio 2008 for front-end development tools, mainly using c # and SQL statements for programming. This system can add students information, delete information search student information, students, and modify the students information and landing, cancellation, exit, modify the password etc. Function. The operation is simple to learn, interface clear easy to understand; The operating personnel need not have high professional knowledge, easy to popularize; Operation is stable, more suitable for now the university campus to student information management, and it can effectively improve the information processing speed and accuracy.
Key words: information management, SQL Server, Visual studio, C#, programming
第 3 页 共 42 页
第一章 概述
1.1 开发前的准备
在进行程序设计之前要熟练掌握《数据库系统概论》以及《C#》中的相关基础知识。根据我们日常生活中的经验,结合自己平时所接触到的本校学生信息管理系统,做好需求分析,明确程序设计的具体要求。掌握SQL Server 2008和Visual studio 2008的使用方法,准备计算机、SQL Server 2008和Visual studio 2008等基本设备。为下一步具体开发设计做好充分的准备。
1.2 开发设计的意义
学生信息管理系统可以提高学校管理部门工作人员的工作效率,减少不必要的
人力、物力和财力的支出;方便学校管理部门的工作人员全面地掌握学生信息情况。使得学生信息实现标准化和规范化的管理。此外,通过对“学生信息管理系统”的学习和动手实践编写,可以使我们对《数据库系统概论》的基础知识的理解更透彻;促进我们对C#的理解;提高我们对综合知识的运用能力,为今后从事项目开发积累经验。
该课程设计还能够培养我们的实践动手能力,提高我们的学习兴趣,拓展我们的思维,加强我们查阅资料以及解决问题的能力,提高我们将老的思想运用到新事物上的能力。通过对此课题的开发,无论是理论知识还是动手能力,我们都会有不同程度上的提高。
1.3 功能要求
本次课程设计所编写的学生信息管理系统,要实现增添学生信息、删除学生信息、
查询学生信息、修改学生信息以及系统的登陆、注销、退出和修改密码等功能。
第 4 页 共 42 页
第二章 学生信息管理系统介绍
2.1开发方案
首先,通过SQL Server 2008创建一个student数据库,然后在student数据
库中创建两个表,分别为tlogin表和student表。tlogin表用来存储用户名和登陆密码;student表用来存储学生的学号、姓名、性别和出生年月等基本信息。同时向tlogin表中插入用户名和密码。
然后,通过Visual studio 2008来编写前台程序,先创建两个类库,分别为DataAccessLayer类库和studentMIS类库。然后再在DataAccessLayer类库中创建两个类,分别为SQLHelper.cs类和StudentDAO.cs类;在studentMIS类库中根据需要创建一系列窗体,分别为主窗体FormMain.cs、增添学生信息窗体FormAddStudent.cs、删除学生信息窗体FormDeleteStudent.cs、查询学生信息窗体FormSearchStudent.cs、修改学生信息窗体Formupdate.cs、登陆系统窗体Formlogin.cs、注销系统窗体Formlogout.cs、退出系统窗体Formout.cs和修改密码窗体Formupdatepassword.cs。编写程序使其分别实现相应的功能。
最后进行程序测试、修改和完善,并写出总结报告。
第 5 页 共 42 页
2.2系统流程图
此学生信息管理系统的总体设计思想流程图如图2-1所示。
开始 登陆 学生信息 管理系统 增添 学生 信息 修改 密码 注销 系统管理 学生管理 退出 删除 学生 信息 修改 学生 信息 查询 学生 信息 结束
图2-1 学生信息管理系统流程图
第 6 页 共 42 页
2.3 系统功能图
根据要求,此学生信息管理系统应该实现增添学生信息、删除学生信息、查询学生信息、修改学生信息以及系统的登陆、注销、退出和修改密码等功能。此学生信息管理系统包括系统、学生管理、学籍管理、院系管理和班级管理五个模块。其系统功能图如图2-2所示。系统模块中实现修改密码、注销和退出功能,其功能图如图2-3所示。学生管理模块中实现增添学生信息、删除学生信息、查询学生信息和修改学生信息的功能,其功能模块图如图2-4所示。
系统管理 学生信息管理系统 系统 管理 学生 管理 学籍 管理 院系 管理 班级 管理 图2-2 学生信息管理系统功能模块图
修改 密码 注销 系统 退出 系统 图2-3 系统管理模块功能图
第 7 页 共 42 页
学生管理 增添 学生 信息 删除 学生 信息 查询 学生 信息 修改 学生 信息 图2-4 学生管理模块功能图
2.4 程序编写概要
在SQLHelper.cs类和StudentDAO.cs类中写一些方法,如:登陆方法、连接数据库、增、删、查、改等。然后具体实施各个功能的窗体调用这些方法,从而完成相应的功能。
(1)增添学生信息:用户输入完个人信息后,后台代码则会连接后台数据库,由相应的SQL语句向后台数据库中的student表中插入这些信息,并显示在系统的主界面上。
(2)删除学生信息:用户可以选择按姓名删除或按学号删除,根据用户的选择,找到数据库中student表中与用户输入的姓名或学号相同的学生信息,并删除此人的全部信息,同时系统的主界面上也会有相应的刷新,显示新的结果。
(3)查询学生信息:与删除操作类似,用户也可以选择按姓名查询或按学号查询,根据用户的选择,找到数据库中student表中与用户输入的姓名或学号相同的学生信息,然后在系统的主界面上显示出查询的结果即可。
(4)修改学生信息:根据用户输入要修改的学生的学号,通过SQL语句查找到student表中对应的学生信息,然后再通过SQL语句将此同学的信息替换成新输入的信息,并在主界面上显示出来。
(5)登陆系统:用户输入用户名和密码后,系统则连接后台数据库,并找到tlogin表中的相应用户,比较后台数据库中的该用户密码是否与当前输入的密码一致,若一致则登陆成功进入主界面,否则登陆失败,无法进入系统。
(6)注销系统:当用户执行该操作时,只需将当前主程序隐藏,同时让登陆界面
第 8 页 共 42 页
显示出来,此时就可以切换用户登陆了。
(7)退出系统:执行此操作就是把所有程序都关闭掉,从而实现退出系统的功能。 (8)修改密码:和修改学生信息类似,所不同是,修改学生信息是修改student表中的内容,而修改密码则是修改tlogin表中的内容。根据用户输入的要修改的用户的用户名和原始密码,通过SQL语句查找到tlogin表中对应的用户,比较表中的对应密码与用户输入的密码是否一致,若一致,则通过SQL语句将此用户的密码更改成新输入的密码,否则,拒绝执行修改密码命令。
2.5 后台数据库简介
后台数据库共建立了两个表,分别为student表和tlogin表。student表中用来存放学生的基本信息,如:学号、姓名、性别、出生日期等;tlogin表则用来存放用户名和密码。后台数据库运用SQL server 2008建立,其中student表的具体结构和参数如表2-1所示;tlogin表的具体结构和参数如表2-2所示。
student表 字段名 sno sname ssex birthday 类型 nchar(10) nvarchar(8) nchar(2) nchar(10) 否 是 是 是 是否允许为空 学号 姓名 性别 出生日期 备注 表2-1 student表的结构及参数简介 tlogin表 字段名 id username password int nvarchar(20) nvarchar(20) 类型 是否允许为空 否 否 否 备注 序号 用户名 密码 表2-2 tlogin表的结构及参数简介
第 9 页 共 42 页
第三章 主要功能的实现
3.1 登陆系统功能的实现
在SQLHelper.cs中写一个专门负责登陆的方法,通过“SQLHelper helper = new SQLHelper(); int total = helper.login(textBoxusername.Text.Trim(), textBoxpassword.Text.Trim());”来调用SQLHelper.cs中的方法,从而实现登陆的功能。
其功能实现流程图如图3-1所示。
开始 出现登录界面 输入用户名和密码 连接数据库 找到tlogin表 密码是否 正确 否 是 登录界面消失 主界面呈现 结束 图3-1 登陆功能的实现流程图
第 10 页 共 42 页
3.2 修改学生信息功能的实现
在Formupdate.cs窗体中通过string定义一系列变量,分别为string snos、string sno、string sname、string sex、string birthday;然后调用StudentDAO.cs类中的具体操作,完成参数的传递并通过“sqlhelper.ExecuteNonQuery(sql, para);”语句调用SQLHelper.cs类中的方法,打开后台数据库并通过“string sql = \"update student set sno=@sno,sname=@sname,ssex=@sex,birthday=@birthday where sno=\"+ snos.ToString() +\"\";”语句实现对学生信息的更改操作。从而实现修改学生信息的功能。
其功能实现流程图如图3-2所示。
开始
输入要修改的学生学号 和修改后的信息
连接数据库、查询表
student
否 是否修改
是
将student表中对应信息
改为新输入信息
结束
图3-2 修改学生信息功能的实现流程图
第 11 页 共 42 页
第四章 系统测试
4.1 登陆系统运行界面
启动此学生信息管理系统后,首先出现的是登陆窗口,让用户输入用户名和密码,只有合法的用户输入正确的用户名和密码才能成功登陆,如图4-1所示。若输入错误的密码则无法登陆系统,同时会给以提示,让用户输入正确的用户名和密码,其运行的界面如图4-2所示。
图4-1 登陆窗口运行界面
第 12 页 共 42 页
图4-2 登陆窗口输入错误密码的运行界面
4.2 主界面的形成
合法用户输入正确的用户名和密码成功登陆后,系统将进入主界面,其运行后的效果如图4-3所示。
图4-3 系统主界面
第 13 页 共 42 页
4.3 增添学生信息功能的实现
用户输入完学生的相应信息后,点击确定,则会提示:输入成功,其运行界面如图4-4所示。信息录入后将显示在主界面上,其效果如图4-5所示。
图4-4 增添学生信息运行界面
图4-5 信息录入后主界面上显示的效果图
第 14 页 共 42 页
4.4 删除学生信息功能的实现
删除学生信息功能为用户提供了两种选择,可以按学号删除也可以按姓名删除,删除成功后都会有相应的“删除成功”提示,按学号删除的运行界面如图4-6所示;按姓名删除的运行界面如图4-7所示;删除结果会在主界面上显示出来,如图4-8所示。
图4-6 按学号删除的运行界面
图4-7 按姓名删除的运行界面
第 15 页 共 42 页
图4-8 执行删除操作后主界面的显示效果
4.5 查询学生信息功能的实现
在查询学生信息功能中,系统为用户提供了两种查询方式,分别为按学号查询和按姓名查询。按学号查询的运行界面如图4-9所示,按姓名查询的运行界面如图4-10所示。
图4-9 按学号查询学生信息的运行界面
第 16 页 共 42 页
图4-10 按姓名查询学生信息的运行界面
4.6 修改学生信息功能的实现
用户输入要修改的学生的学号,然后输入修改后的学生的信息,点击确定按钮后,则会弹出对话框提示“修改成功”,其运行界面如图4-11所示;运行结果将在主界面上显示出来,如图4-12所示。
图4-11 修改学生信息功能的运行界面
第 17 页 共 42 页
图4-12 修改信息后主界面显示的效果
4.7 修改密码功能的实现
用户运用修改密码功能可以更改自己的个人密码,用户须输入自己的用户名、原始密码、新密码,新密码要重复输入两次。若原始密码输入错误,则无法完成修改密码操作,系统会提示“原始密码输入错误”,如图4-13所示;若两次输入的新密码不一致,也无法完成修改密码操作,系统会提示“两次输入的新密码不一致”,如图4-14所示;只有当原始密码输入正确、两次输入的新密码也一致时才可以成功修改密码,系统会提示“密码修改成功”,如图4-15所示。
第 18 页 共 42 页
图4-13 修改密码中原始密码错误时运行的界面
图4-14 修改密码中两次输入新密码不一致运行界面
第 19 页 共 42 页
图4-15 修改密码成功时运行的界面
4.8 注销系统功能的实现
用户使用注销功能会使当前登陆系统的用户退出系统,如图4-16所示;当前用户退出系统的同时会出现登陆界面供新的用户登陆或当前用户重新登陆,如图4-17所示。
图4-16 注销系统功能的运行界面
第 20 页 共 42 页
图4-17 注销系统后显示的界面 4.9 退出系统功能的实现
退出系统功能可以使正在运行的系统关闭,用户点击“确定退出”按钮后,系统便会关闭。退出系统功能的运行界面如图4-18所示。
图4-18 退出系统功能的运行界面
第 21 页 共 42 页
4.10 后台数据库运行界面
后台数据库共有两个基本表用来存储信息,分别为student表和tlogin表,student表中存储学生基本信息,tlogin表中保存用户名和密码。后台数据库中的student表的界面如图4-19所示;tlogin表的界面如图4-20所示。
图4-19 后台数据库中student表的界面
图4-20 后台数据库中tlogin表的界面
第 22 页 共 42 页
第五章 程序设计结语
5.1 系统存在的问题
由于本人经验不足,对SQL Server 2008和 Visual studio 2008两种软件的使用不精通,没有系统的学习过C#知识,所以,此次课程设计存在较多的不足之处。具体问题如下:(1)学生的个人信息不完善,如:缺少学生的个人课表、所在系、成绩、身高、体重、健康情况、祖籍等信息;(2)修改学生信息过程中,没有实现对学生以前信息的自动加载;(3)登录后,没有实现对不同的用户登录拥有不同的权限功能;(4)没能实现对已有学生信息的定位,即:上一页、下一页、第一页和最后一页按钮的功能。(5)还有几个模块的功能尚未实现,如:学籍管理、院系管理、班级管理等。
5.2 系统改进的方向
介于上一节所述的种种不足,我认为系统改进的总体方向就是拟补以上的种种不足,
然后在此基础上对系统进行优化。首先,完善学生的个人信息;然后在修改学生信息功能中实现当用户输入要修改学生的学号后自动出现该生的旧信息供其修改;不同的用户登录也要有一定的权限;实现对已有学生信息的定位;把尚未完成的功能模块完成。最后,可以将该学生信息管理系统做成网页版,供学生、学校管理人员以及访客以相应的身份登录该系统进行一系列的操作,进而可以将此系统推向各高等学府,辅助学校管理人员更好的管理在校学生。
5.3 此次课程设计的体会
此次课程设计主要运用了SQL Server 2008和 Visual studio 2008两种软件,编
程所运用的语言是SQL语句和C#语言。在进行此次课程设计之前,我们对C#是一无所知的,老师给我们讲了里两次增删差功能的C#代码和一次登录功能的C#代码,并让我们保留了痕迹,然后就开始进行课程设计,看着那些陌生的代码,觉得想完成这次课程设计简直是不可能的。但是,我没有放弃,我坚持了下来,最终完成了老师布置的任务,做完了此次课程设计作业。这让我深刻的体会到,坚持就是胜利。
通过此次课程设计,我发现学生信息管理系统与宿舍信息管理系统、图书馆管理系统等都是相通的,且各种语言的编程思想也是相通的。此次课程设计使我对本专业产生了浓厚的兴趣。此次系统的学习、设计过程也为以后的课程设计及项目开发奠定了基础。
第 23 页 共 42 页
参考文献
[1] 王珊 萨师煊,数据库系统概论[M],北京:高等教育出版社,2006 [2] 张立,C#2.0宝典[M],电子工业出版社,2007
[3] 汪孝宜等,信息系统开发实例精粹(C#版)[M],电子工业出版社,2006 [4] 李兰友等,Visual C#.Net程序设计[M],清华大学出版社,2003 [5] 欧阳柏成,学生信息管理系统[D],贵阳学院课程设计论文,2008
第 24 页 共 42 页
附录 源代码
SQLHelper.cs中的代码 using System;
using System.Collections.Generic; using System.Text;
using System.Data.SqlClient; using System.Data; namespace DataAccessLayer {
public class SQLHelper {
//写一个专门负责登陆的方法
public int login(string name, string pwd) {
//要连接数据库
//定义一个数据库的连接字符串 string connstr =
@\"server=.\\sqlexpress;database=student;integrated security=sspi\";
using (SqlConnection conn = new SqlConnection(connstr))//定义了连接对象 {
conn.Open();//打开数据库
using (SqlCommand cmd = conn.CreateCommand()) {
cmd.CommandText = \"select * from tlogin where username=@un and password=@pwd\";
cmd.Parameters.Add(new SqlParameter(\"un\", name)); cmd.Parameters.Add(new SqlParameter(\"pwd\", pwd)); //要开始执行对数据库的查询操作
第 25 页 共 42 页
int total = Convert.ToInt32(cmd.ExecuteScalar()); return total; } }
}
//添加、删除、修改学生信息
public void ExecuteNonQuery(string sql, params SqlParameter[]para ) {
string connstr =
@\"server=.\\sqlexpress;database=student;integrated security=sspi\"; using(SqlConnection conn=new SqlConnection(connstr)) {
conn.Open();
using(SqlCommand cmd=new SqlCommand(sql,conn)) {
cmd.Parameters.AddRange(para); cmd.ExecuteNonQuery(); } } }
public DataTable CreateTable() {
DataTable table = new DataTable(); string connstr =
@\"server=.\\sqlexpress;database=student;integrated security=sspi\"; using (SqlConnection conn = new SqlConnection(connstr)) {
conn.Open();
string sql = \"select * from student\";
using (SqlDataAdapter adapter=new SqlDataAdapter(sql,conn)) {
adapter.Fill(table ); }
第 26 页 共 42 页
}
return table; }
//按学号查找
public DataTable CreateTableBySno(string sql,params SqlParameter[]para) {
DataTable table = new DataTable(); string connstr =
@\"server=.\\sqlexpress;database=student;integrated security=sspi\"; using (SqlConnection conn = new SqlConnection(connstr)) {
conn.Open();
using(SqlCommand cmd=conn.CreateCommand()) {
cmd.CommandText = sql; cmd.Parameters.AddRange(para);
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) {
adapter.Fill(table); } } }
return table; }
//按姓名查找
public DataTable CreateTableBySname(string sql, params SqlParameter[] para) {
DataTable table = new DataTable(); string connstr =
@\"server=.\\sqlexpress;database=student;integrated security=sspi\"; using (SqlConnection conn = new SqlConnection(connstr)) {
第 27 页 共 42 页
conn.Open();
using (SqlCommand cmd = conn.CreateCommand()) {
cmd.CommandText = sql; cmd.Parameters.AddRange(para);
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) {
adapter.Fill(table); } } }
return table; } } }
StudentDAO.cs中的代码
using System;
using System.Collections.Generic; using System.Text;
using System.Data.SqlClient; using System.Data; namespace DataAccessLayer {
public class StudentDAO {
private SQLHelper sqlhelper = null; public StudentDAO() {
sqlhelper = new SQLHelper(); } //增
public void insert(string sno,string sname,string sex,string birthday) {
第 28 页 共 42 页
string sql = \"insert into student values(@sno,@sname,@sex,@birthday)\";
SqlParameter[] para = new SqlParameter[] { new SqlParameter(\"sno\",SqlDbType.NChar), new SqlParameter(\"sname\",SqlDbType.NVarChar), new SqlParameter(\"sex\",SqlDbType.NChar), new SqlParameter(\"birthday\",SqlDbType.NChar) };
int i = 0;
para[i++].Value = sno; para[i++].Value = sname; para[i++].Value = sex; para[i++].Value = birthday;
sqlhelper.ExecuteNonQuery(sql,para); }
//按学号删除
public void deletebysno(string sno) {
string sql = \"delete from student where sno=@sno\"; SqlParameter[] para = new SqlParameter[] {
new SqlParameter(\"sno\",SqlDbType.NChar) };
int i = 0;
para[i++].Value = sno;
sqlhelper.ExecuteNonQuery(sql, para); }
//按姓名删除
public void deletebysname(string sname) {
string sql = \"delete from student where sname=@sname\"; SqlParameter[] para = new SqlParameter[] { };
int i = 0;
para[i++].Value = sname;
new SqlParameter(\"sname\",SqlDbType.NVarChar)
第 29 页 共 42 页
sqlhelper.ExecuteNonQuery(sql, para); } //查找
public DataTable searchbysname(string sname) {
DataTable table=new DataTable();
string sql = \"select * from student where sname=@sname\"; SqlParameter[] para = new SqlParameter[] { };
int i = 0;
para[i++].Value = sname;
table = sqlhelper.CreateTableBySname(sql,para); return table; }
public DataTable searchbysno(string sno) {
DataTable table = new DataTable();
string sql = \"select * from student where sno=@sno\"; SqlParameter[] para = new SqlParameter[] {
new SqlParameter(\"sno\",SqlDbType.NChar) };
int i = 0;
para[i++].Value = sno;
table = sqlhelper.CreateTableBySno(sql, para); return table; }
//修改学生信息
public void update(string sno, string sname, string sex, string birthday,string snos) {
string sql = \"update student set
sno=@sno,sname=@sname,ssex=@sex,birthday=@birthday where sno=\"+ snos.ToString() +\"\";
SqlParameter[] para = new SqlParameter[] {
new SqlParameter(\"sname\",SqlDbType.NVarChar)
第 30 页 共 42 页
new SqlParameter(\"sno\",SqlDbType.NChar), new SqlParameter(\"sname\",SqlDbType.NVarChar), new SqlParameter(\"sex\",SqlDbType.NChar),
new SqlParameter(\"birthday\",SqlDbType.NChar) };
int i = 0; para[i++].Value = sno; para[i++].Value = sname; para[i++].Value = sex; para[i++].Value = birthday;
sqlhelper.ExecuteNonQuery(sql, para); } //修改密码
public void updatepassword(string password, string password1) {
string sql = \"update tlogin set password=@password1 where password =\" + password.ToString() + \"\";
SqlParameter[] para = new SqlParameter[] { new SqlParameter(\"username\",SqlDbType.NChar), };
int i = 0;
para[i++].Value = password;
para[i++].Value = password1; sqlhelper.ExecuteNonQuery(sql, para); } } }
增添学生信息FormAddStudent.cs窗体中的代码 using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
new SqlParameter(\"password1\",SqlDbType.NVarChar),
第 31 页 共 42 页
using System.Windows.Forms; using DataAccessLayer; namespace studentMIS {
public partial class FormAddStudent : Form {
public FormAddStudent() {
InitializeComponent(); }
private void buttonok_Click(object sender, EventArgs e) {
string sno = textBoxsno.Text.Trim(); string sname = textBoxsname.Text.Trim(); string sex = comboBoxsex.Text.Trim();
string birthday = textBoxbirthday.Text.Trim(); new StudentDAO().insert(sno,sname,sex,birthday); this.DialogResult = DialogResult.OK; MessageBox.Show(\"输入成功\"); }
private void buttoncancel_Click(object sender, EventArgs e) {
this.Close(); } } }
删除学生信息FormDeleteStudent.cs窗体中的代码 using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
using System.Windows.Forms; using DataAccessLayer;
第 32 页 共 42 页
namespace studentMIS {
public partial class FormDeleteStudent : Form {
public FormDeleteStudent() {
InitializeComponent(); }
private void buttonok_Click(object sender, EventArgs e) {
new StudentDAO().deletebysno(textBoxsno.Text.Trim()); new StudentDAO().deletebysname(textBoxsname.Text.Trim()); MessageBox.Show(\"删除成功\");
this.DialogResult = DialogResult.OK; }
private void buttoncancel_Click(object sender, EventArgs e) {
this.Close(); } } }
登陆Formlogin.cs窗体中的代码 using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
using System.Windows.Forms; using DataAccessLayer; namespace studentMIS {
public partial class Formlogin : Form {
public Formlogin()
第 33 页 共 42 页
{
InitializeComponent(); }
private void buttonlogin_Click(object sender, EventArgs e) {
SQLHelper helper = new SQLHelper();
int total = helper.login(textBoxusername.Text.Trim(), textBoxpassword.Text.Trim()); if (total > 0) {
FormMain main = new FormMain(); main.Show(); this.Hide(); } else {
MessageBox.Show(\"错误的用户名或密码!\", \"警告\", MessageBoxButtons.OK);
textBoxusername.Text = \"\"; textBoxpassword.Text = \"\"; textBoxusername.Focus(); } }
private void buttoncancel_Click(object sender, EventArgs e) {
this.Close(); }
private void Formlogin_FormClosed(object sender, FormClosedEventArgs e) {
Application.Exit(); } } }
注销Formlogout.cs窗体中的代码
第 34 页 共 42 页
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
using System.Windows.Forms; namespace studentMIS {
public partial class Formlogout : Form {
public Formlogout() {
InitializeComponent(); }
private void buttonok_Click(object sender, EventArgs e) {
Formlogin login = new Formlogin(); login.Show();
this.Hide(); }
private void buttoncancel_Click(object sender, EventArgs e) {
this.Hide ();
FormMain main = new FormMain(); main.Show(); }
private void Formlogout_FormClosed(object sender, FormClosedEventArgs e) {
FormMain main = new FormMain(); main.Show(); } } }
第 35 页 共 42 页
主界面FormMain.cs中的代码 using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
using System.Windows.Forms; using DataAccessLayer; namespace studentMIS {
public partial class FormMain : Form {
public FormMain() {
InitializeComponent(); }
private void 信息录入ToolStripMenuItem_Click(object sender, EventArgs e) {
FormAddStudent add = new FormAddStudent(); add.ShowDialog();
if (add.DialogResult==DialogResult.OK) {
bind(); } }
BindingSource bs = new BindingSource(); public void bind() //刷新网格 {
bs.DataSource = new SQLHelper().CreateTable(); dataGridViewstudent.DataSource = bs; }
private void FormMain_Load(object sender, EventArgs e) {
第 36 页 共 42 页
bind(); }
private void 信息删除ToolStripMenuItem_Click(object sender, EventArgs e) {
FormDeleteStudent delete = new FormDeleteStudent(); delete.ShowDialog();
if (delete.DialogResult == DialogResult.OK) {
bind(); } }
private void 查找信息ToolStripMenuItem_Click(object sender, EventArgs e) {
FormSearchStudent search = new FormSearchStudent(); search.ShowDialog(); }
private void FormMain_FormClosed(object sender, FormClosedEventArgs e) {
Application.Exit(); }
private void 修改信息ToolStripMenuItem_Click(object sender, EventArgs e) {
FormupdateStudent update = new FormupdateStudent(); update.ShowDialog();
if (update.DialogResult == DialogResult.OK) {
bind(); } }
private void 注销ToolStripMenuItem_Click(object sender, EventArgs e) {
Formlogout logout = new Formlogout();
第 37 页 共 42 页
logout.ShowDialog(); this.Hide(); }
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) {
Formout outs = new Formout(); outs.ShowDialog(); }
private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e) {
Formupdatepassword updatepassword = new Formupdatepassword(); updatepassword.ShowDialog();
if (updatepassword.DialogResult == DialogResult.OK) {
bind(); } } } }
退出系统Formout.cs窗体中的代码 using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
using System.Windows.Forms; namespace studentMIS {
public partial class Formout : Form {
public Formout() {
InitializeComponent();
第 38 页 共 42 页
}
private void buttonok_Click(object sender, EventArgs e) {
this.Close(); }
private void Formout_FormClosed(object sender, FormClosedEventArgs e) {
Application.Exit(); }
private void buttoncancel_Click(object sender, EventArgs e) {
this.Hide(); } } }
查询学生信息FormSearchStudent.cs窗体中的代码 using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
using System.Windows.Forms; using DataAccessLayer; namespace studentMIS {
public partial class FormSearchStudent : Form {
public FormSearchStudent() {
InitializeComponent(); }
BindingSource bs = new BindingSource();
private void buttonsearchbysno_Click(object sender, EventArgs e)
第 39 页 共 42 页
{
bs.DataSource=new
StudentDAO().searchbysno(textBoxsno.Text.Trim()); //表格 dataGridView1.DataSource=bs;
}
private void buttonsearchbysname_Click(object sender, EventArgs e) {
bs.DataSource = new
StudentDAO().searchbysname(textBoxsname.Text.Trim()); dataGridView1.DataSource = bs; } } }
修改学生信息Formupdate.cs窗体中的代码 using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
using System.Windows.Forms; using DataAccessLayer; namespace studentMIS {
public partial class FormupdateStudent : Form {
public FormupdateStudent() {
InitializeComponent(); }
private void buttonok_Click(object sender, EventArgs e) {
string snos = textBoxsnos.Text.Trim(); string sno = textBoxsno.Text.Trim();
第 40 页 共 42 页
string sname = textBoxsname.Text.Trim(); string sex = comboBoxsex.Text.Trim();
string birthday = textBoxbirthday.Text.Trim();
new StudentDAO().update(sno, sname, sex, birthday, snos); this.DialogResult = DialogResult.OK; MessageBox.Show(\"修改成功\"); }
private void buttoncancel_Click(object sender, EventArgs e) {
this.Close(); } } }
修改密码Formupdatepassword.cs窗体中的代码 using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;
using System.Windows.Forms; using DataAccessLayer; namespace studentMIS {
public partial class Formupdatepassword : Form {
public Formupdatepassword() {
InitializeComponent(); }
private void buttonok_Click(object sender, EventArgs e) {
string username = textBoxusername.Text.Trim(); string password = textBoxpassword.Text.Trim(); string password1 = textBoxnewpassword1.Text.Trim();
第 41 页 共 42 页
string password2 = textBoxnewpassword2.Text.Trim(); SQLHelper helper = new SQLHelper();
int total = helper.login(textBoxusername.Text.Trim(), textBoxpassword.Text.Trim()); if (total > 0) {
if (password1 == password2) {
new StudentDAO().updatepassword(password, password1); this.DialogResult = DialogResult.OK; MessageBox.Show(\"密码修改成功\"); } else {
MessageBox.Show(\"两次输入的新密码不一致!\", \"警告\", MessageBoxButtons.OK); } } else {
MessageBox.Show(\"原始密码输入错误!\", \"警告\", MessageBoxButtons.OK); } } } }
第 42 页 共 42 页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuoyibo.cn 版权所有 湘ICP备2023022426号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务