资源描述
兰州财经大学陇桥学院
信息工程系课程设计汇报
课 程 名 称: C#面向对象程序设计
设 计 题 目:学生宿舍管理系统
班 级:电子商务1401
学 生 姓 名:卯成飞
学 生 学 号:0680126
指 导 教 师:于泳海
年 月 日
目录
一、系统开发背景 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
宿舍管理系统
一、系统开发背景
学生宿舍管理系统对于一个学校来说是必不可少组成部分。现在好多学校还停留在宿舍管理人员手工统计数据最初阶段,手工统计对于规模小学校来说还勉强能够接收,但对于学生信息量比较庞大,需要统计存档数据比较多高校来说,人工统计是相当麻烦。而且当查找某条统计时,因为数据量庞大,还只能靠人工去一条条查找,这么不仅麻烦还浪费了很多时间,效率也比较低。当今社会是飞速进步世界,原始统计方法已经被社会所淘汰了,计算机化管理正是适应时代产物。信息世界永远不会是一个平静世界,当一个技术不能满足需求时,就会有新技术诞生并替换旧技术。二十一世纪今天,信息社会占着主流地位,计算机在各行各业中利用已经得到普及,自动化、信息化管理越来越广泛应用于各个领域。
二、系统分析和设计
(一) 系统功效要求
为了使系统使用者感到操作方便,提供便利数据查询和增删改除工作。成功开发出学生宿舍管理系统。能够查询、添加、删除职员、学生、宿舍信息,便于管理,节省人力。从而达成管理目标。因为数据库存放容量相当大,而且比较稳定,适合较长时间保留,也不轻易丢失。这无疑是为信息存放量比较大学校提供了一个方便、快捷操作方法。本系统含有运行速度快、安全性高、稳定性好优点,而且含有完善报表生成、修改功效,能够快速查询学校所需住宿信息,方便高校对学生宿舍管理。
学生宿舍管理系统应提供简单、层次关系明了、清楚操作界面,使用户一目了然。尽可能为用户录入、查询等功效操作提供方便。在设计该系统时,应尽可能贴近学生,便于用户操作。系统在实现上应该含有以下功效:
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 = new SqlCommand();
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 = new SqlConnection(connString);
string 学号 = textBox1.Text;
string sql = String.Format("select * from 学生信息 where 学号 like'%{0}%'", textBox1.Text);
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection);
DataSet dataSet = new DataSet("宿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];
}
private void 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 = new SqlConnection(connString);
string sql = String.Format("INSERT INTO 学生信息(学号,班级,姓名,性别) VALUES('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"')" );
try
{
connection.Open();
SqlCommand command = new SqlCommand(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();
}
}
private void 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 = new SqlConnection(connString);
string sql = String.Format("delete from 学生信息where 学号like'%{0}%'and 班级like'%{1}%'", textBox1.Text, textBox2.Text);
try
{
connection.Open();
SqlCommand command = new SqlCommand(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();
}
}
private void 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 = new SqlConnection(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 = new SqlDataAdapter(sql, connection);
DataSet dataSet = new DataSet("宿舍");
dataAdapter.Fill(dataSet);
dataGridView1.Columns[0].DataPropertyName = "楼号";
dataGridView1.Columns[1].DataPropertyName = "宿舍号";
dataGridView1.Columns[2].DataPropertyName = "是否住满";
dataGridView1.Columns[3].DataPropertyName = " 可住/满员";
dataGridView1.DataSource = dataSet.Tables[0];
}
private void 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 = new SqlConnection(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 = new SqlDataAdapter(sql, connection);
DataSet dataSet = new DataSet("宿舍");
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];
}
private void 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 = new SqlConnection(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 = new SqlCommand(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();
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
}
6.8入住查询
string connString = "Data Source=.;Initial Catalog=宿舍;Integrated Security=True";
SqlConnection connection = new SqlConnection(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 = new SqlDataAdapter(sql, connection);
DataSet dataSet = new DataSet("宿舍");
dataAdapter.Fill(dataSet);
dataGridView1.Columns[0].DataPropertyName = "楼号";
dataGridView1.Columns[1].DataPropertyName = "宿舍号";
dataGridView1.Columns[2].DataPropertyName = "是否住满";
dataGridView1.Columns[3].DataPropertyName = " 可住/满员";
dataGridView1.DataSource = dataSet.Tables[0];
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
}
6.9入住添加
string connString = "Data Source=.;Initial Catalog=宿舍;Integrated Security=True";
SqlConnection connection = new SqlConnection(connString);
string sql = String.Format("use 宿舍 INSERT INTO 入住 (楼号,宿舍号,是否住Á?满,[可住/满员])VALUES('" + textBox1.Text + "','"+textBox2.Text+"','" +textBox3.Text+"','"+textBox4.Text+"')" );
try
{
connection.Open();
SqlCommand command = new SqlCommand(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();
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
}
课程设计总结
(本课程设计关键实现哪些功效?是怎样处理设计中碰到问题?经过课程设计收获到了什么?怎样进行下一步学习?心得体会等)
我们这次程序设计任务是建立一个学生宿舍管理系统,它用到开发工具是C#语言,SQL Server 数据库。经过在实际操作过程中我收获了很多。尤其是在数据库SQL语句练习方面。很多以前不熟练SQL语句现在全部能熟练地写出来了;还有就是对于实例化对象和部分基础控件使用和窗口和窗口跳转方法愈加熟练。
在设计开始阶段为了立即创建学生管理系统所需数据库和需求表,开始搜集和宿舍管理系统所需,创建数据库数据。经过部分资料尤其是书中部分经典实例,认真学习它思想和方法,吸收它技巧,了解每条语句含义。在对所要应用技术有了一个基础认识以后,就开始构思自己系统设计。依据需求说明书要求将整个系统分为多个模块,每个模块具体又要实现哪些功效,然后就逐一模块去一一具体设计,设计过程中不时地翻阅资料,用部分巧妙技术来优化。尽管这次最终设计相对简单,不过也碰到了很多问题,最终在老师和同学帮助下,最终顺利完成了,自己也从中学到了不少东西。
总而言之,经过两个多星期设计,让我感受了管理系统开发部分过程。这不仅是对我在这一学期所学知识一个综合利用,也是一次增加知识和经验好机会,同时也使我学会了很多处理、处理问题方法,大大提升了自己动手能力,为未来相关学习打下了良好基础。相信自己在以后学习和工作会愈加熟练地使用所学到知识,来处理所碰到困难。
指导老师评语及成绩
年 月 日
展开阅读全文