图书借阅管理系统c#报告_第1页
图书借阅管理系统c#报告_第2页
图书借阅管理系统c#报告_第3页
图书借阅管理系统c#报告_第4页
图书借阅管理系统c#报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉工业学院 数学与计算机学院 2012-2013 学年第一学期 数据库应用系统设计 题 目: 图书借阅管理系统 专 业: 软件工程系 班 级: xx 学 号: xx 姓 名: xx 指导老师: xx 2013 年 6 月 6 日 1 需求分析 绝大多数管理人员已经认识到采用图书借阅管理系统的必要性,纷纷开发 或选购适合本企业特点的图书借阅管理系统。图书借阅管理系统具体以下优点: 采用图书借阅管理系统,可以用集中的数据库将与图书借阅管理相关的 信息全面、有机地联系起来,有效地减少了信息更新和查找中的重复劳动,保 证了信息的相容性,从而大大地提高了工作效率。 图书借阅管理系统有着易访问、易查询的信息库。在没有采用和实施图 书借阅管理系统之前,当管理人员要统计数字时,往往依赖于某个人或某些人 来获取。这种依赖于人的过程往往会因为花费的时间较长或某个人不在办公室 而不能及时完成。在采用和实施图书借阅管理系统之后,就会将依赖于人的过 程改为依赖于计算机系统的过程。管理人员只要获取了相应的权限,就可以随 时进入系统,直接查阅相应的信息。实施了图书借阅管理系统之后,不仅可以 得到较为全面的、详细的、未经过过滤的第一手图书借阅信息,还可以从这些 信息中得到某些有用的决策信息及灵感和启发,从而改进图书馆的管理及经营 效率,避免或减少经营风险。 采用和实施图书借阅管理系统不仅仅是为了提高工作效率。应该看到, 在实施图书借阅管理系统之后,可提高单位的形象。 2 系统设计 系统功能图如下: 图书借阅管理系统 修改信息 修改密码 注销账户 查询书籍 添加书籍 修改书籍 删除书籍 学生注册 学生登录 管理员登录 注册 个人信息 管理员管理 书籍管理查询借阅记录 查询已还书还书借书 查询未还书 添加管理员 查询书籍 3 数据库设计 1 各表的物理结构: BookMessage 表: 其中的每个字段都不为空,Type 只能为图书或杂志; ReaderMessage 表: 其中每个字段都不为空,Sex 只能为男或女,Type 只能为学生或 管理员,Passwords 默认值为 123456; BorrowMessage 表: 其中每个字段都不为空; 2 三个表的关系图: 2 数据库的安全设计 软件系统方面 用户登录系统必须提供用户名和密码,选择相应角色,系统自动 查询数据库判断用户名密码是否正确及是否符合用户所选择的的身 份。 权限设置 本系统分为两个角色,管理员和学生。管理员登录系统可以管理 书籍信息,添加新的管理员和注销自己的账户;学生登录可以查看 个人信息,查询书籍,借书,还书,查询借阅记录,查询已还书, 查询未还书和注销自己的账户。 4 图书借阅系统的实现 1 登录窗体 界面及最终运行效果如图 4.1 所示。 图 4.1 登录界面 用户选择管理员或学生,填写用户名,如“aa ”,然后输入密码,系统 对输入的用户名及相应的密码进行校验。具体流程图如下图所示: 图 4.2 密码验证流程图 有关代码如下: namespace BooksManagementSystem public partial class load : Form public static string readerindex=null; public load() InitializeComponent(); private void load_Load(object sender, EventArgs e) private void bt_load_Click(object sender, EventArgs e) if (tb_user.Text.Trim() = “) 开 始 输入用户 密码 调用密码检 测子程序 进入图书借阅管理系统 显示错误 MessageBox.Show(“请填写用户名!“); return; bool isStudent; OleDbConnection mycon; OleDbDataAdapter myda; DataSet myds; string strSelect; string strCon = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BooksManagementSystem.mdb;Persist Security Info=True“; if (rb_student.Checked = true) strSelect = “select passwords from ReaderMessage where ReaderIndex=“ + tb_user.Text + “and Type =学生“; isStudent = true; /MessageBox.Show(strSelect); else strSelect = “select passwords from ReaderMessage where ReaderIndex=“ + tb_user.Text + “and Type =管理员“; /MessageBox.Show(strSelect); isStudent = false; mycon = new OleDbConnection(strCon); myda = new OleDbDataAdapter(strSelect,mycon); myds = new DataSet(); myda.Fill(myds); if (myds.Tables0.Rows.Count 0) if (tb_password.Text.Equals(myds.Tables0.Rows00.ToString() load.readerindex = tb_user.Text.ToString(); if (isStudent) this.Hide(); StudentIndex SIndex = new StudentIndex(); SIndex.ShowDialog(); this.Show(); else this.Hide(); ManagerIndex MIndex = new ManagerIndex(); MIndex.ShowDialog(); this.Show(); else MessageBox.Show(“用户名错误或密码错误!“); else MessageBox.Show(“用名错误或密码错误!“); private void bt_register_Click(object sender, EventArgs e) Register reg = new Register(); reg.ShowDialog(); private void bt_cancel_Click(object sender, EventArgs e) this.Close(); 2. 学生首页 学生登录后,进入学生首页,如下图所示: A查询书籍可以有条件查询,如填写书籍编号,书名,作者, 出版社任意几项,点击查询,则DataGridView控件会显示查询的书 籍,无条件查询效果如下图: B借书要先查询书籍,然后在控件上点击你要借的书,最后点 击借书,如果此书在库则提示借书成功,否则提示此书已借出,借 书成功效果如下: C还书需要输入书籍编号进行还书,如果你借了此书且没还则 提示还书成功,否则提示你未借此书,还书成功效果如下图: D查询借阅记录,查询已还书,查询未还书时,则控件会显示相 应的信息,查询借阅记录的效果如下图: E点击个人信息,则会进入个人信息界面; 上述有关代码如下: namespace BooksManagementSystem public partial class StudentIndex : Form public DataGridViewCellEventArgs borrowBook; OleDbConnection mycon; OleDbDataAdapter myda; DataSet myds; bool isBorrow = false; bool isSelect = false; public StudentIndex() InitializeComponent(); public void Update() string strSelect = “select BookIndex as 书籍?编号?,BookName as 书 籍?名?称?,Author as 作者?,Publish as 出?版?社?,JoinTime as 入?库a时间? ,Price as 价?格?,Type as 类型,State as 是?否?在库a from BookMessage “; bool isAll = true; if (tb_bookindex.Text.Trim() != “) strSelect = strSelect + “where BookIndex = “ + tb_bookindex.Text + “; isAll = false; if (tb_bookname.Text.Trim() != “) if (isAll) strSelect = strSelect + “where BookName = “ + tb_bookname.Text + “; isAll = false; else strSelect = strSelect + “and BookName =“ + tb_bookname.Text + “; if (tb_author.Text.Trim() != “) if (isAll) strSelect = strSelect + “where Author = “ + tb_author.Text + “; isAll = false; else strSelect = strSelect + “and Author = “ + tb_author.Text + “; if (tb_publish.Text.Trim() != “) if (isAll) strSelect = strSelect + “where Publish = “ + tb_publish.Text + “; isAll = false; else strSelect = strSelect + “and Publish = “ + tb_publish.Text + “; myda = new OleDbDataAdapter(strSelect, mycon); myds = new DataSet(); myda.Fill(myds); dataGridView1.DataSource = myds.Tables0; private void bt_querybook_Click(object sender, EventArgs e) isBorrow = true; Update(); private void bt_borrow_Click(object sender, EventArgs e) if (!isBorrow) MessageBox.Show(“请?先查询书籍?“); return; if (!isSelect) MessageBox.Show(“请?选?择?书籍?“); return; string bookid; if (borrowBook.RowIndex myds.Tables0.Rows.Count) if(myds.Tables0.RowsborrowBook.RowIndex7.ToString().Equals(“False“) MessageBox.Show(“此?书已?借出?“); return; bookid = myds.Tables0.RowsborrowBook.RowIndex0.ToString(); string time = DateTime.Now.ToShortDateString(); mycon.Open(); string strInsert = “Insert into BorrowMessage(ReaderIndex,BookIndex,BorrowTime,IsReturn) values (“ + load.readerindex + “,“ + bookid + “,“ + time + “,false)“; OleDbCommand mycom = new OleDbCommand(strInsert, mycon); mycom.ExecuteNonQuery(); string strUpdate = “update BookMessage set State = false where BookIndex = “ + bookid + “; OleDbCommand mycom1 = new OleDbCommand(strUpdate, mycon); mycom1.ExecuteNonQuery(); mycon.Close(); Update(); isSelect = false; MessageBox.Show(“借书成功|!?“); else MessageBox.Show(“请?选?择?正y确的?书籍?!?“); private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) borrowBook = e; isSelect = true; private void bt_return_Click(object sender, EventArgs e) isBorrow = false; if (tb_bookindex.Text.Trim() = “) MessageBox.Show(“请?输?入?书籍?编号?“); return; string strSelect = “select * from BorrowMessage where BookIndex = “ + tb_bookindex.Text + “and IsReturn = False“; OleDbDataAdapter myda1; DataSet myds1; myda1 = new OleDbDataAdapter(strSelect,mycon); myds1 = new DataSet(); myda1.Fill(myds1); if (myds1.Tables0.Rows.Count = 0) MessageBox.Show(“你?没?有D借这a本?书“); return; mycon.Open(); string time = DateTime.Now.ToShortDateString(); string strUpdate = “update BookMessage set State = true where BookIndex = “ + tb_bookindex.Text + “; string strUpdate1 = “update BorrowMessage set IsReturn = true,ReturnTime =“+time+“ where BookIndex = “ + tb_bookindex.Text + “and IsReturn = False“; OleDbCommand mycom = new OleDbCommand(strUpdate, mycon); mycom.ExecuteNonQuery(); OleDbCommand mycom1 = new OleDbCommand(strUpdate1, mycon); mycom1.ExecuteNonQuery(); mycon.Close(); MessageBox.Show(“还1书成功|“); Update(); private void bt_borrowrecord_Click(object sender, EventArgs e) isBorrow = false; string strSelect = “select AutoId as 编号?,ReaderName as 读者?姓?名? ,ReaderMessage.ReaderIndex as 读者?编号?,BookName as 书籍?名?称? ,BookMessage.BookIndex as 书籍?编号?,Author as 作者?,Publish as 出?版?社? ,Price as 价?格?,BorrowTime as 借书时间?,ReturnTime as 还1书时间? ,IsReturn as 是?否?已?还1 from BorrowMessage ,BookMessage,ReaderMessage where BorrowMessage.BookIndex=BookMessage.BookIndex AND BorrowMessage.ReaderIndex=ReaderMessage.ReaderIndex AND ReaderMessage.ReaderIndex = “ + load.readerindex + “; OleDbDataAdapter myda1 = new OleDbDataAdapter(strSelect, mycon); DataSet myds1 = new DataSet(); myda1.Fill(myds1); dataGridView1.DataSource = myds1.Tables0; private void button1_Click(object sender, EventArgs e) isBorrow = false; string strSelect = “select AutoId as 编号?,ReaderName as 读者?姓?名? ,ReaderMessage.ReaderIndex as 读者?编号?,BookName as 书籍?名?称? ,BookMessage.BookIndex as 书籍?编号?,Author as 作者?,Publish as 出?版?社? ,Price as 价?格?,BorrowTime as 借书时间?,ReturnTime as 还1书时间? ,IsReturn as 是?否?已?还1 from BorrowMessage ,BookMessage,ReaderMessage where BorrowMessage.BookIndex=BookMessage.BookIndex AND BorrowMessage.ReaderIndex=ReaderMessage.ReaderIndex and IsReturn = False AND ReaderMessage.ReaderIndex = “ + load.readerindex + “; OleDbDataAdapter myda1 = new OleDbDataAdapter(strSelect, mycon); DataSet myds1 = new DataSet(); myda1.Fill(myds1); dataGridView1.DataSource = myds1.Tables0; private void button2_Click(object sender, EventArgs e) isBorrow = false; string strSelect = “select AutoId as 编号?,ReaderName as 读者?姓?名? ,ReaderMessage.ReaderIndex as 读者?编号?,BookName as 书籍?名?称? ,BookMessage.BookIndex as 书籍?编号?,Author as 作者?,Publish as 出?版?社? ,Price as 价?格?,BorrowTime as 借书时间?,ReturnTime as 还1书时间? ,IsReturn as 是?否?已?还1 from BorrowMessage ,BookMessage,ReaderMessage where BorrowMessage.BookIndex=BookMessage.BookIndex AND BorrowMessage.ReaderIndex=ReaderMessage.ReaderIndex and IsReturn = True AND ReaderMessage.ReaderIndex = “ + load.readerindex + “; OleDbDataAdapter myda1 = new OleDbDataAdapter(strSelect, mycon);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论