资源描述
兰州财经大学陇桥学院
信息工程系课程设计报告
课程名称:C#面向对象程序设计
设计题目:学生宿舍管理系统
班 级:电子商务1401
学 生 姓 名:卯成飞
学 生 学 号:20140680126
指 导 教 师:于泳海
年月日
目录
一、系统开发的背景1
二、系统分析与设计1
(一)系统功能要求1
(二)系统模块结构设计2
三、系统的设计与实现3
(一)学生宿舍管理系统基本流程3
(二)学生宿舍管理流程图3
四、系统测试4
(一)测试登录4
(二)测试部分主菜单5
五、总结8
六、附件(代码、部分图表)8
6。1登陆代码8
6。2查询学生信息代码9
6。3添加学生信息9
6。4删除学生信息10
6。5入住查询11
6。6查询宿舍信息12
6。7添加宿舍信息12
6。8入住查询13
6.9入住添加14
宿舍管理系统
一、系统开发的背景
学生宿舍管理系统对于一个学校来说是必不可少的组成部分.目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
二、系统分析与设计
(一) 系统功能要求
为了使系统使用者感到操作方便,提供便利的数据查询与增删改除工作.成功的开发出学生宿舍管理系统。可以查询、添加、删除员工、学生、宿舍的信息,便于管理,节省人力。从而达到管理的目的。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失.这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息,方便高校对学生宿舍的管理。
学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等功能操作提供方便。在设计该系统时,应尽可能的贴近学生,便于用户操作。系统在实现上应该具有如下功能:
1、 系统要求用户必须输入正确的用户名和密码才能进入系统.
2、 系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询.
3、 系统还应具有添加、修改、删除基本信息的功能。
(二) 系统模块结构设计
通过对系统功能的分析,学生宿舍管理系统功能如图X所示.
用户登陆
信息查询
信息管理
修改信息
学
生
信
息
查
询
宿
舍
查
询
员
工
信
息
查
询
入
住
查
询
添
加
学
生
信
息
删
除
学
生
信
息
删
除
员
工
信
息
添
加
宿
舍
信
息
图1学生宿舍系统功能图
通过上图的功能分析,把整个系统划分为8个模块:
1、 学生信息查询、添加、删除.
2、 宿舍信息的查询、添加.
3、 入住信息的查询。
三、系统的设计与实现
(一) 学生宿舍管理系统基本流程
(1)用户登录
用户只需要填写姓名和密码就可以完成登录操作,登录成功自动跳转到主菜单页面。
(2)信息查询
用户在此可以通过输入宿舍、班级、学号等进行分类查询,查看相对应的学生基本信息。查询完后可以通过链接跳转到其他页面进行相关操作。
(3)宿舍管理
本页面主要进行对晚归学生的登记管理,还有对入住情况及员工信息的查询。操作完成后可以通过链接跳转到其他页面进行相关操作。
(4)修改信息
用户在此可以通过添加新宿舍和新生信息来修改基本宿舍信息。操作完成后可以通过链接跳转到其他页面进行相关操作。
(二) 学生宿舍管理流程图
分析:首先输出表头,然后依次经过查询、信息管理、修改信息。流程图如图2所示。
用户
登陆
信息查询
信息管理
修改信息
图2宿舍管理系统流程图
四、系统测试
(一) 测试登录
图3 登录界面
(二) 测试部分主菜单
图4 主菜单界面
图5 添加学生信息界面
图6 删除学生信息界面
图7 查询学生信息界面
图8 删除学生信息界面
图9 修改学生信息界面
图10 入住查询界面
图11 入住添加界面
五、总结
通过两周的努力,大学生宿舍管理系统基本上完成了。通过这一个小项目,我收获了很多。尤其是在数据库的SQL语句的练习方面。很多以前不熟练的SQL语句现在都能熟练地写出来了;还有就是一些基本的控件的使用,Label、TextBox、Button等,以前不知道德一些属性现在也了解了那么多。不过该系统还是有一些漏洞的,比如在员工管理上,对于员工信息没有加入数据库表中, 也没在系统内显现出来,不是很完善。不过在以后的学习和练习中会不断改正和解决不懂的问题。
六、附件(代码、部分图表)
6。1登陆代码
using System.Data。SqlClient;
conn.ConnectionString = ”Data Source=.;Initial Catalog=宿舍;Integrated Security=True”;
conn。Open();
SqlCommand cmd = newSqlCommand();
cmd。CommandText = ”select 密码 from 登录 where 用户名='” +textBox1。Text + ”'";
cmd.Connection = conn;
string pass = Convert.ToString(cmd。ExecuteScalar());
if (textBox2.Text == pass)
{
主菜单 n = new主菜单();
MessageBox。Show(”欢迎进入高校宿舍管理系统”, "登陆成功");
this。Hide();
n。Show();
this。Hide();
}
else
{
MessageBox.Show("用户名或密码错误请重新确输入, ”登录失败");
}
conn。Close();
}
6。2查询学生信息代码
using System。Data.SqlClient;
string connString = "Data Source=。;Initial Catalog=宿舍;Integrated Security=True";
SqlConnection connection = newSqlConnection(connString);
string学号 = textBox1。Text;
string sql = String。Format(”select * from 学生信息 where 学号 like’%{0}%'", textBox1。Text);
SqlDataAdapter dataAdapter = newSqlDataAdapter(sql, connection);
DataSet dataSet = newDataSet(”宿T舍¦¨¢”);
dataAdapter.Fill(dataSet);
dataGridView1.Columns[0].DataPropertyName = ”学号”;
dataGridView1。Columns[1]。DataPropertyName = "班级”;
dataGridView1。Columns[2]。DataPropertyName = ”姓名";
dataGridView1.Columns[3]。DataPropertyName = "性别”;
dataGridView1.DataSource = dataSet.Tables[0];
}
privatevoid button2_Click(object sender, EventArgs e)
{
this.Hide();
}
6。3添加学生信息
using System.Data。SqlClient;
string connString = "Data Source=.;Initial Catalog=宿舍;Integrated Security=True";
SqlConnection connection = newSqlConnection(connString);
string sql = String.Format(”INSERT INTO 学生信息(学号,班级,姓名,性别) VALUES('"+textBox1。Text+”',’”+textBox2。Text+"',’”+textBox3.Text+”','”+textBox4。Text+"’)” );
try
{
connection。Open();
SqlCommand command = newSqlCommand(sql, connection);
int count = command。ExecuteNonQuery();
if (count > 0)
{
MessageBox。Show("添加学生信息成功, "添加成功", MessageBoxButtons。OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show(”添加学生失败”, ”添加失败¹”, MessageBoxButtons.OK, MessageBoxIcon。Information);
}
}
catch (Exception ex)
{
MessageBox.Show(ex。Message, ”操作数据库出错”, MessageBoxButtons。OK, MessageBoxIcon。Exclamation);
}
finally
{
connection。Close();
}
}
privatevoid button2_Click(object sender, EventArgs e)
{
this。Hide();
}
6。4删除学生信息
using System。Data.SqlClient;
string connString = ”Data Source=.;Initial Catalog=宿舍;Integrated Security=True”;
SqlConnection connection = newSqlConnection(connString);
string sql = String.Format(”delete from 学生信息where 学号like’%{0}%'and 班级like’%{1}%’”, textBox1。Text, textBox2.Text);
try
{
connection.Open();
SqlCommand command = newSqlCommand(sql, connection);
int count = command。ExecuteNonQuery();
if (count 〉 0)
{
MessageBox。Show(”删除学生信息成功”, ”删除成功”, MessageBoxButtons。OK, MessageBoxIcon。Information);
}
else
{
MessageBox.Show("删除学生信息失败¹”, "删除失败", MessageBoxButtons。OK, MessageBoxIcon。Information);
}
}
catch (Exception ex)
{
MessageBox。Show(ex.Message, ”操作数据库出错”, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
connection。Close();
}
}
privatevoid button2_Click(object sender, EventArgs e)
{
this.Hide();
}
6。5入住查询
using System.Data。SqlClient;
string connString = ”Data Source=.;Initial Catalog=宿舍;Integrated Security=True”;
SqlConnection connection = newSqlConnection(connString);
string 楼£¤号? = textBox1。Text;
string 宿T舍¦¨¢号? = textBox2。Text;
string sql = String。Format("select * from 入住where 楼号like’%{0}%’ and 宿舍号like’%{1}%’”, textBox1。Text, textBox2.Text);
SqlDataAdapter dataAdapter = newSqlDataAdapter(sql, connection);
DataSet dataSet = newDataSet("宿舍");
dataAdapter。Fill(dataSet);
dataGridView1.Columns[0]。DataPropertyName = ”楼号”;
dataGridView1.Columns[1].DataPropertyName = ”宿舍号";
dataGridView1.Columns[2]。DataPropertyName = ”是否住满”;
dataGridView1。Columns[3].DataPropertyName = " 可住/满员”;
dataGridView1。DataSource = dataSet。Tables[0];
}
privatevoid button2_Click(object sender, EventArgs e)
{
this.Hide();
}
6。6查询宿舍信息
using System.Data。SqlClient;
string connString = "Data Source=。;Initial Catalog=宿舍;Integrated Security=True”;
SqlConnection connection = newSqlConnection(connString);
string 楼£¤号? = textBox1。Text;
string 宿T舍¦¨¢号? = textBox2.Text;
string sql = String.Format(”select * from 宿舍信息where 楼号like’%{0}%’ and 宿舍号 like ’%{1}%'", textBox1。Text, textBox2.Text);
SqlDataAdapter dataAdapter = newSqlDataAdapter(sql, connection);
DataSet dataSet = newDataSet(”宿舍");
dataAdapter.Fill(dataSet);
dataGridView1。Columns[0]。DataPropertyName = "楼号”;
dataGridView1。Columns[1]。DataPropertyName = ”宿舍号";
dataGridView1.Columns[2].DataPropertyName = "学号”;
dataGridView1.Columns[3]。DataPropertyName = ”姓名";
dataGridView1.Columns[4].DataPropertyName = "班级";
dataGridView1。Columns[5]。DataPropertyName = "入住日期”;
dataGridView1.DataSource = dataSet。Tables[0];
}
privatevoid button2_Click(object sender, EventArgs e)
{
this.Hide();
}
6.7添加宿舍信息
using System。Data。SqlClient;
string connString = "Data Source=.;Initial Catalog=宿T舍¦¨¢;Integrated Security=True”;
SqlConnection connection = newSqlConnection(connString);
string sql = String.Format("INSERT INTO 宿舍信息(楼号,宿舍号,学号,姓名,班级,入住日期) VALUES(’" + textBox1.Text + "’,’” + textBox2。Text + "’,’” + textBox3。Text + ”','” + textBox4.Text + ”',’" + textBox5。Text + "’,’” + textBox6。Text + ”’)”);
try
{
connection。Open();
SqlCommand command = newSqlCommand(sql, connection);
int count = command。ExecuteNonQuery();
if (count > 0)
{
MessageBox.Show(”添加宿T舍信息成功", ”添加成功”, MessageBoxButtons.OK, MessageBoxIcon。Information);
}
else
{
MessageBox。Show(”添加宿舍信息失败”, ”添加失败”, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox。Show(ex.Message, "操作数据库出错", MessageBoxButtons。OK, MessageBoxIcon。Exclamation);
}
finally
{
connection。Close();
}
}
privatevoid button2_Click(object sender, EventArgs e)
{
this。Hide();
}
6.8入住查询
string connString = "Data Source=。;Initial Catalog=宿舍;Integrated Security=True”;
SqlConnection connection = newSqlConnection(connString);
string 楼£¤号? = textBox1。Text;
string 宿T舍¦¨¢号? = textBox2.Text;
string sql = String。Format(”select * from 入住where 楼号 like'%{0}%' and 宿舍号 like’%{1}%'", textBox1.Text, textBox2。Text);
SqlDataAdapter dataAdapter = newSqlDataAdapter(sql, connection);
DataSet dataSet = newDataSet(”宿舍”);
dataAdapter。Fill(dataSet);
dataGridView1.Columns[0].DataPropertyName = ”楼号”;
dataGridView1.Columns[1]。DataPropertyName = ”宿舍号”;
dataGridView1。Columns[2]。DataPropertyName = ”是否住满”;
dataGridView1。Columns[3]。DataPropertyName = ” 可住/满员";
dataGridView1.DataSource = dataSet.Tables[0];
}
privatevoid button2_Click(object sender, EventArgs e)
{
this.Hide();
}
6。9入住添加
string connString = "Data Source=.;Initial Catalog=宿舍;Integrated Security=True”;
SqlConnection connection = newSqlConnection(connString);
string sql = String。Format(”use 宿舍INSERT INTO 入住(楼号,宿舍号,是否住Á?满,[可住/满员])VALUES('” + textBox1。Text + ”’,'"+textBox2。Text+"’,’” +textBox3。Text+”’,’"+textBox4.Text+”’)” );
try
{
connection。Open();
SqlCommand command = newSqlCommand(sql, connection);
int count = command.ExecuteNonQuery();
if (count > 0)
{
MessageBox.Show(”添加入住成功", ”删除成功", MessageBoxButtons。OK, MessageBoxIcon。Information);
}
else
{
MessageBox。Show("添加入住Á失败", ”删除失败", MessageBoxButtons.OK, MessageBoxIcon。Information);
}
}
catch (Exception ex)
{
MessageBox。Show(ex.Message, ”操作数据库出错”, MessageBoxButtons。OK, MessageBoxIcon。Exclamation);
}
finally
{
connection。Close();
}
}
privatevoid button2_Click(object sender, EventArgs e)
{
this.Hide();
}
课程设计总结
(本课程设计主要实现哪些功能?是如何解决设计中遇到的问题的?通过课程设计收获到了什么?如何进行下一步的学习?心得体会等)
我们这次程序设计的任务是建立一个学生宿舍管理系统,它用到的开发工具是C#语言,SQL Server 2005数据库.通过在实际操作过程中我收获了很多.尤其是在数据库的SQL语句的练习方面。很多以前不熟练的SQL语句现在都能熟练地写出来了;还有就是对于实例化对象和一些基本的控件的使用和窗口与窗口的跳转方法更加熟练.
在设计的开始阶段为了尽快创建学生管理系统所需的数据库与需求表,开始收集与宿舍管理系统所需,创建数据库数据。通过一些资料特别是书中的一些典型实例,认真学习它的思想和方法,吸取它的技巧,了解每条语句的含义.在对所要应用的技术有了一个基本认识之后,就开始构思自己的系统设计。根据需求说明书的要求将整个系统分为几个模块,每个模块具体又要实现哪些功能,然后就逐个模块去一一详细设计,设计的过程中不时地翻阅资料,用一些巧妙的技术来优化.尽管这次最终设计相对简单,但是也遇到了很多的问题,最后在老师和同学的帮助下,终于顺利完成了,自己也从中学到了不少东西。
总之,通过两个多星期的设计,让我感受了管理系统开发的部分过程。这不仅是对我在这一学期所学知识的一个综合运用,也是一次增长知识和经验的好机会,同时也使我学会了许多处理、解决问题的方法,大大提高了自己的动手能力,为将来的有关学习打下了良好的基础。相信自己在以后的学习与工作会更加熟练地使用所学到的知识,来解决所遇到的困难。
指导教师评语及成绩
年 月 日
12
展开阅读全文