基于vs2017的图书馆管理系统
图书馆管理系统
- 基于vs2017的图书馆管理系统
- 1. 用到的工具:vs2017 、sqlserver
- 2. 介绍数据库表:
- 2.1 首先打开数据库:sqlsrerver
- 2.2 这里我设置的登录信息
- 2.3 创建数据库数据表
- 3. vs2017
- 3.1 创建窗口程序(这里不多做演示)
- 3.2 登录界面
- 3.2.1 数据表Table_2
- 3.2.1 登录连接数据库
- 3.2.2 查询数据表
- 3.3 主界面
- 3.4 图书管理模块
- 3.4.1 数据表Table_3
- 3.4.2 借书
- 3.4.3 还书
- 4.功能演示
- 5.总结
- 注:[工程代码](https://download.csdn.net/download/sf9090/12513150)
1. 用到的工具:vs2017 、sqlserver
说明:本项目是c# 语言,用到数据库sqlserver,完成了对人员信息管理、借书、还书的基本操作。
2. 介绍数据库表:
2.1 首先打开数据库:sqlsrerver
2.2 这里我设置的登录信息
账号:sa
密码 :123
2.3 创建数据库数据表
自己配置数据库 和数据表 如下图:
下面就是vs2017上的操作了
3. vs2017
3.1 创建窗口程序(这里不多做演示)
3.2 登录界面
这是首先设置登录界面 ,登陆界面就是连接数据库,如果数据库成功连接,然后就 访问数据表中的人员信息,Table_2中存放的有人员的密码,判断如果信息正确,那么就成功登录 进入下一个界面,失败则继续。
3.2.1 数据表Table_2
如上图表中的项 s_Name :shifeng, s_Pwd: 123456
那么代码中就要这样做查询:下面展示一些 内联代码片
。
select * from Table_2 where s_Name='"+cmb_Name.Text.Trim()+"'and s_Pwd='"+txt_Pwd.Text.Trim()+"'"
上面的cmb_Name和 txt_Pwd是我的界面上的两个控件名字如下图箭头所指
3.2.1 登录连接数据库
/// <summary> /// 连接数据库 /// </summary> /// <returns></returns> public bool GetConnection() { Connection = new SqlConnection("server=.;database=Farm;uid=sa;pwd=123"); Connection.Open(); if ( Connection.State==ConnectionState.Open ) { IsOpen = true; return true; } return false; }
3.2.2 查询数据表
在上一步成功连接数据库后,就要进行查询数据表的用户信息,判断与控件上输入的是否一致,如果一致就跳转下一界面,错误返回当前界面。
try { if (!IsOpen) { GetConnection(); } Command = new SqlCommand(sql, Connection); ds = new DataSet(); adapter = new SqlDataAdapter(Command); if (adapter.Fill(ds) > 0) { Connection.Close(); IsOpen = false; return ds; } return null; } catch { return null; }
注:其中的sql就是我要查询的用户和密码
判断是否查询到相应的信息:
private void button1_Click1(object sender, EventArgs e) { FrmMain frm = new FrmMain(); if (txt_Pwd.Text.Trim() == "" && cmb_Name.Text.Trim() == "") { MessageBox.Show("账号,密码不能为空!", "提示"); cmb_Name.Focus(); return; } else { ds= db.GetDataTable("select * from Table_2 where s_Name='"+cmb_Name.Text.Trim()+"'and s_Pwd='"+txt_Pwd.Text.Trim()+"'"); // MessageBox.Show(ds); if (ds != null) { Permis = ds.Tables[0].Rows[0]["s_Permission"].ToString().Trim();//获取权限并赋值给Permis StrName = cmb_Name.Text.Trim();//获取登录用户 rm.Show(); } else { MessageBox.Show("用户或密码有误!","提示"); } StrName = cmb_Name.Text.Trim();//获取登录用户 User use = new User(); use.HAHA(StrName); } }
3.3 主界面
如果身份信息无误跳转到主界面,如下图
主界面负责切换各各模块功能,最重要的当然就是图书借还的功能
3.4 图书管理模块
3.4.1 数据表Table_3
思路:借书、还书都是对数据库的操作,所欲先介绍数据表的设计,设置了四项,分别是book:书名,s_name:用户名,state:书的状态, s_time:借书时间
3.4.2 借书
借书:将界面上选中的图书的名字数据book获取到,然后用数据库查询语句查询这本书book,将这本书中的一项state 设置为“non”,在将信息显示在界面中1.获取鼠标选中的书名,赋值给str
int a = dataGridView1.CurrentRow.Index; string str = dataGridView1.Rows[a].Cells["bookDataGridViewTextBoxColumn"].Value.ToString();
2.下一步就是在Table_3中查询这个str,并将对应的state修改为“non”
db.GetExecuteNQ(" UPDATE Table_3 SET state = 'non'where book = '" + str + "' "); db.GetExecuteNQ(" UPDATE Table_3 SET s_name = '" + b + " 'where book = '" + str + "' "); MessageBox.Show(dateTimePicker1.Text); //dateTimePicker1.Value.ToShortDateString() db.GetExecuteNQ(" UPDATE Table_3 SET s_time = '" + dateTimePicker1.Text + "'where book = '" + str + "'"); this.Hide(); frmColletion frm1 = new frmColletion(); frm1.Show();
3.4.3 还书
思路:那么还就和借书一样了,获取选中的书名,然后修改state为“exist”,并且清空借书时间s_time和借书人s_name.
db.GetExecuteNQ(" UPDATE Table_3 SET state = 'exist'where book = '" + str + "' "); db.GetExecuteNQ(" UPDATE Table_3 SET s_name = '" + " " + " 'where book = '" + str + "' "); this.Hide(); frmColletion frm1 = new frmColletion(); frm1.Show();
4.功能演示
主要附上借书 还书功能图
5.总结
1.数据库连接时一定注意,查询语句是否正确
2.dataGridView这个控件显示数据表中图书信息时,在属性DataSource中添加,具体使用方法,百度
3.总之这个系统并不难,主要就是数据库查询。
注:
图书馆管理系统--vs2017、c#、sqlserver-C#文档类资源-CSDN下载download.csdn.net欢迎关注:微信公众号留言获取工程源码“MeiXiangDao2020”
1.关注公众号
2.回复:“图书馆管理系统”
更多资源尽在‘媒想到叭’