兰州财经大学陇桥学院
信息工程系课程设计报告
课 程 名 称: 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 = 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();
}
本文来源:https://www.2haoxitong.net/k/doc/0df4ccca4128915f804d2b160b4e767f5acf8086.html
文档为doc格式