《图书馆信息管理系统-C#课程设计报告(共31页).doc》由会员分享,可在线阅读,更多相关《图书馆信息管理系统-C#课程设计报告(共31页).doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上北 华 航 天 工 业 学 院C程序设计课程设计报告课程设计题目: 图书馆信息管理系统 作者所在系部: 计算机与遥感信息技术学院作者所在专业: 网络工程 作者所在班级: * 作 者 姓 名 : * 作 者 学 号 : * 指导教师姓名: * 完 成 时 间 : 2014.12.25 北华航天工业学院教务处制专心-专注-专业课程设计任务书课题名称图书馆信息管理系统完成时间2014.12.25指导教师周建伟职称助教学生姓名梁爽班 级B12522总体设计要求和技术要点 1.要求利用C#的编程思想来完成系统的设计; 2.突出C#语言与其它语言不同点; 3.体现可视化编程基本东
2、西,如系统带有菜单、工具栏、状态栏以及一些常用的高级控件。 4.每个学生独立完成教师指定的课程设计题目,不能相互抄袭。创新要求: 在基本要求达到后,可进行创新设计,如提供数据的导入导出(Excel、XML、文本文件等)功能等。工作内容及时间进度安排时间:此次课程设计时间为两周,第15、16周,共40学时。分四个阶段完成:1.分析设计阶段:明确设计要求,找出实现方法。这一阶段在第1天完成。2.编码调试阶段:根据设计分析方案编写C#代码,然后调试该代码,实现课题要求的功能。这一阶段在第2-8天完成。3.总结报告阶段:总结设计工作,撰写课程设计报告,这一阶段在第8-9天完成。4.考核阶段:这一阶段在
3、第10天完成。地点:计算机与遥感信息技术学院实验室课程设计成果1与设计内容对应的软件程序2课程设计报告书摘 要随着计算机技术的飞快发张,电子信息化慢慢替代了企业管理的传统管理手法。这是一种现代流行的经营模式,采用管理系统是能够有效提高管理效率的。 图书馆管理系统是学校管理机制中重要的一环。图书馆代表着一间学校或者地区的文化标志。因为图书馆丰富的图书资源能够带给我们重要并且优越的学习资源。通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。本系统中包含6个功能模块:借阅处理(借书处理、还书处理),信息查询(读者信息查询、
4、借阅信息查询、图书信息查询),图书信息管理(图书入库、修改图书信息、删除图书信息),读者信息管理(添加读者信息、修改读者信息、删除读者信息),员工信息管理(添加员工信息、修改员工信息、删除员工信息)只有管理员可以有此功能,系统设置(用户密码修改)。关键词:图书管理系统 SQL server .NET平台目 录第1章 绪 论11.1 课题研究现状分析11.1.1 本领域内已开展的研究工作11理论研究基础12技术层面的支持21.1.2 已经取得的研究成果21.2 选题的目的及意义2第2章 系统需求分析32.1 问题的提出32.2 系统的设计目标3第3章 系统总体设计43.1 系统功能设计43.1.
5、1 系统登录43.1.2 系统设置53.1.3 借阅处理53.1.4 信息查询63.1.5 图书信息管理63.1.6 读者信息管理73.1.7 员工信息管理83.2 数据库的设计83.3 库中各个表的设计9 3.3.1图书信息表9 3.3.2借阅信息表9 3.3.3读者信息表9 3.3.4员工信息表10第4章 系统实现114.1 数据库操作类114.2 登录模块实现114.3 系统设置模块实现124.4 借阅处理模块实现144.5 信息查询模块实现164.6 图书信息管理模块实现184.7 读者信息管理模块实现204.8 员工信息管理模块实现21第5章 系统使用说明235.1 系统使用说明23
6、5.2 系统说明23第6章 课程设计总结246.1 主要问题及解决办法246.2 课程设计体会246.3 自我评定24参考文献25第1章 绪 论随着高校办学规模的不断扩大,学生人数增多,图书馆的图书数量也不断增多,若仍采用传统手工记录的方式管理或用较为粗糙的管理软件,则耗费人力且错误率高,因此,开发适合某高校自身的图书馆信息管理系统,对图书进行科学管理,合理借阅,确保这些固定资产保值增值,是十分必要的。本系统就针对当前很多高校图书借阅管理采用人工管理的现状的实际情况出发,对图书管理业务经过详细的系统调查,开发出的操作简单而且方便实用的一个图书馆信息管理系统,以适应新时代发展的需要。 本系统使用
7、Microsoft Visual Studio 2010、SQL Server 2008开发工具,使用SQL语句,结合数据库来实现数据库的操作。 图书馆信息管理系统主要对图书管理日常工作中遇到的实际问题,例如图书信息、读者信息、借阅信息、能够实现以下任务:添加图书、借还图书操作、书库维护操作等。本系统经过测试,运行稳定,可投入使用。1.1 课题研究现状分析随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会信息社会的重要支柱。在这样的大背景下,现代图书馆信
8、息管理系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理,全面实行计算机管理。本实验针对当前我国图书管理多数采用人工管理的现状以及即使采用了图书馆信息管理系统却不能完全满足本单位图书管理借还图书操作、书库维护操作等现状,对图书馆信息管理系统进行完善,基本上实现了简单实用的图书借阅管理以及图书馆信息管理。1.1.1 本领域内已开展的研究工作1理论研究基础(1)后台以SQL数据库支持。(2)前台以.NET平台为开发环境,实现学生基本信息管理的增、删、查、改操作。2技术层面的支持(1)系统的设计与实现应采用MVC分层模式。(2)系统界面采用MDI方式,即用户登录后进入主窗体,主窗体通过菜单进
9、入子窗体。1.1.2 已经取得的研究成果先锋图书馆信息管理系统,用易图书馆信息管理系统。1.2 选题的目的及意义图书馆信息管理系统可以实现图书借阅的规范化、系统化管理,能够将所有图书资料聚集在一起实施统一运作,使图书馆信息管理变得更加高效便捷。第2章 系统需求分析随着经济全球化的推进以及企业激烈的竞争,改善企业内部及整个供应链各环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇,是企业赢得竞争胜利的决定性因素。图书馆信息管理系统能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理;能够对一定数量的读者进行相应的信息存储与管理;对图书馆信息数据保存。2.1 问题的提出为
10、了减少人工工作量,提高工作效率,使图书馆信息管理部门的工作更加有效地进行。2.2 系统的设计目标本系统是对图书馆信息管理部门进行一体化管理的软件系统,其核心管理思想是实现对图书馆信息增、删、改、查的管理。第3章 系统总体设计3.1 系统功能设计 本系统实现了图书馆信息管理,总体分为6个模块:借阅处理(借书处理、还书处理),信息查询(读者信息查询、借阅信息查询、图书信息查询),图书信息管理(图书入库、修改图书信息、删除图书信息),读者信息管理(添加读者信息、修改读者信息、删除读者信息),员工信息管理(添加员工信息、修改员工信息、删除员工信息)只有管理员可以有此功能,系统设置(用户密码修改)。如图
11、3-1所示。图书馆信息管理系统系统设置借阅处理信息查询图书信息管理读者信息管理员工信息管理图3-1 系统功能设计(1)系统设置:进行用户密码修改。(2)借阅处理:借书处理,还书处理。(3)信息查询:读者信息查询、借阅信息查询、图书信息查询。(4)图书信息管理:图书入库、修改图书信息、删除图书信息。(5)读者信息管理:添加读者信息、修改读者信息、删除读者信息。(6)员工信息管理:添加员工信息、修改员工信息、删除员工信息。3.1.1 系统登录登录为用户使用系统的起始点,用户必须先通过身份验证,方可对图书馆信息进行相关操作,登录流程如图3-2所示。登录 失败处理错误提示查询验证成功登录主界面操作结束
12、图3-2 登录模块流程图简要说明及功能描述:功能主要是用于确保用户在提供正确的验证信息之后,可以进一步使用本系统。3.1.2 系统设置系统设置主要是用于修改用户密码。3.1.3 借阅处理借阅处理包括借书处理、还书处理,功能设计如图3-3所示。借阅处理借书处理还书处理图书编号搜索读者编号搜索图3-3 借阅处理功能设计3.1.4 信息查询信息查询包括读者信息查询、借阅信息查询、图书信息查询。读者信息可通过读者编号查询、读者姓名查询,借阅信息可通过图书编号、读者编号查询,图书信息可通过图书编号、图书名称查询。功能设计如图3-4所示。图书编号查询读者编号查询信息查询读者信息查询借阅信息查询图书信息查询
13、读者姓名搜索读者编号搜索图书编号查询图书名称查询图3-4 信息查询功能设计3.1.5 图书信息管理图书信息管理包括添加图书信息、修改图书信息、删除图书信息。修改图书信息可通过图书编号、图书名称搜索到需要修改的信息。删除图书信息可通过图书编号、图书名称搜索到需要删除的信息。功能设计如图3-5所示。图书信息管理添加图书信息修改图书信息删除图书信息图书编号搜索读者编号搜索图书编号搜索图书名称搜索图3-5 图书信息管理功能设计3.1.6 读者信息管理读者信息管理包括添加读者信息、修改读者信息、删除读者信息。修改读者信息可通过读者编号、读者姓名搜索到需要修改的信息。删除读者信息可通过读者编号、读者姓名搜
14、索到需要删除的信息。功能设计如图3-6所示。读者信息管理添加读者信息修改读者信息删除读者信息读者编号搜索读者姓名搜索读者编号搜索读者姓名搜索图3-6 图书信息管理功能设计3.1.7员工信息管理员工信息管理包括添加员工信息、修改员工信息、删除员工信息。修改读者信息可通过用户名搜索到需要修改的信息。删除员工信息可通过用户名搜索到需要删除的信息。功能设计如图3-7所示。员工信息管理添加员工信息修改员工信息删除员工信息用户名搜索用户名搜索图3-7 员工信息管理功能设计3.2 数据库的设计本系统采用SQL Server 2008数据库管理系统,创建的数据库名称为:YYYao_LibraryInfo数据库
15、中包含4张表,各表功能及描述如表31所示。表3-1 数据库中的表表名作用Books用于存储图书信息Borrow用于存储借阅信息Readers用于存储读者信息Staff用于存储员工信息3.3 库中各个表的设计3.3.1图书信息表图书信息表Books用于存储图书馆图书信息,主键为BookNumber 。表中各字段定义及描述如表3-2所示。表3-2 Books表字段名数据类型长度是否为空是否主键字段意义BookNumbervarchar50No 是 图书编号BookNamevarchar 50No否 图书名称BookAuthor varchar 50可以否作者BookTypevarchar 50可以
16、否类别BookLable varchar50可以否标签BookPrice float无可以否定价BookQuantity int无可以否库存量3.3.2借阅信息表借阅信息表Borrow用于存储图书馆借阅信息,主键为BookNumber 、ReaderNumber、BorrowDate。表中各字段定义及描述如表3-3所示。表3-3 Borrow表字段名数据类型长度是否为空是否主键字段意义BookNumbervarchar50No 是图书编号ReaderNumbervarchar50No是读者名称BorrowDatedatatime无No是借阅日期ReturnDatedatatime无可以否归还日
17、期3.3.3读者信息表读者信息表Readers用于维护系统用户的基本情况,主键为ReaderNumber 。表中各字段定义及描述如表3-4所示。表3-4 Readers表字段名数据类型长度是否为空是否主键字段意义ReaderNumbervarchar primary key,BookName varchar(50) not null,BookAuthor varchar(50),BookType varchar(50),BookLable varchar(50),BookPrice float,BookQuantity int50No 是 读者编号ReaderNamevarchar prima
18、ry key,BookName varchar(50) not null,BookAuthor varchar(50),BookType varchar(50),BookLable varchar(50),BookPrice float,BookQuantity int50可以否 读者姓名ReaderMajorvarchar primary key,BookName varchar(50) not null,BookAuthor varchar(50),BookType varchar(50),BookLable varchar(50),BookPrice float,BookQuantity
19、 int50可以否系部3.3.4员工信息表员工信息表Staff用于维护系统用户的基本情况,主键为StaffUserName。表中各字段定义及描述如表3-5所示。表3-5 Staff表字段名数据类型长度是否为空是否主键字段意义StaffUserNamevarchar primary key,BookName varchar(50) not null,BookAuthor varchar(50),BookType varchar(50),BookLable varchar(50),BookPrice float,BookQuantity int50No 是 用户名StaffPasswordvarc
20、har primary key,BookName varchar(50) not null,BookAuthor varchar(50),BookType varchar(50),BookLable varchar(50),BookPrice float,BookQuantity int50可以否 密码StaffIdentityvarchar primary key,BookName varchar(50) not null,BookAuthor varchar(50),BookType varchar(50),BookLable varchar(50),BookPrice float,Boo
21、kQuantity int50可以否 身份StaffNamevarchar primary key,BookName varchar(50) not null,BookAuthor varchar(50),BookType varchar(50),BookLable varchar(50),BookPrice float,BookQuantity int50可以否真实姓名StaffSexvarchar primary key,BookName varchar(50) not null,BookAuthor varchar(50),BookType varchar(50),BookLable v
22、archar(50),BookPrice float,BookQuantity int50可以否性别StaffAgeint无可以否年龄第4章 系统实现4.1 数据库操作类SqlConnection类用于实现数据库的连接、执行。该类定义如下: SqlConnection connection; SqlDataAdapter adapterbooks, adapterborrow, adapterreaders, adapterstaff; DataSet dataset; string sql = server=.; database = YYYao_LibraryInfo; Integrate
23、d Security=true; connection = new SqlConnection(sql); connection.Open();4.2 登录模块实现本系统的登录界面如图4-1所示,输入用户名和密码,点击登录,判断用户名和密码是否正确,正确可进入系统主界面,否则提示错误信息。如图4-2、4-3所示。图4-1 登陆界面(1)登录按钮的代码为:private void buttonX_LoginOK_Click(object sender, EventArgs e) string connectionStr = Data Source=.; Initial Catalog=YYYao
24、_LibraryInfo; Integrated Security=true; SqlConnection connection = new SqlConnection(connectionStr); connection.Open(); SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = select count(*) from Staff where StaffUserName = LoginID and StaffPassword = PWD; comm
25、and.Parameters.Add(new SqlParameter(LoginID, this.tb_username.Text); command.Parameters.Add(new SqlParameter(PWD, this.tb_password.Text); int count = (int)command.ExecuteScalar(); if (count 0) this.DialogResult = DialogResult.OK; this.Close(); else MessageBox.Show(用户名或密码错误, 错误, MessageBoxButtons.OK,
26、 MessageBoxIcon.Error); (2) 取消按钮即为退出,窗体关闭。图4-2 成功登陆图4-3 错误的密码 4.3 系统设置模块实现本系统的系统设置界面如图4-4所示,输入用户名、密码和新密码,点击确认,判断用户名和密码是否正确,正确则修改成功,否则提示错误信息。图4-4 修改成功(1) 确认按钮的代码为: private void bXSetting_OK_Click(object sender, EventArgs e) SqlCommand command = new SqlCommand(); command.Connection = connection; comma
27、nd.CommandText = select count(*) from Staff where StaffUserName=LoginID and StaffPassword=PWD; command.Parameters.Add(new SqlParameter(LoginID, this.tbSetting_username.Text); command.Parameters.Add(new SqlParameter(PWD, this.tbSetting_password.Text); int count = (int)command.ExecuteScalar(); if (cou
28、nt = 1) command.CommandText = String.Format(update Staff set StaffPassword = 0 where StaffUserName = 1, this.tbSetting_newpassword.Text, this.tbSetting_username.Text); command.ExecuteNonQuery(); if (count = 1) MessageBox.Show(用户信息修改成功!); else MessageBox.Show(修改失败!, 错误!, MessageBoxButtons.OK, Message
29、BoxIcon.Error); (2) 取消按钮的代码为: private void bXSetting_Cancel_Click(object sender, EventArgs e) tbSetting_username.Text = ; tbSetting_password.Text = ; tbSetting_newpassword.Text = ; 4.4 借阅处理模块实现本系统的借阅处理界面包括借书处理、还书处理。输入图书编号、读者编号、借阅日期,点击确认借书,添加借阅记录;输入归还日期点击确认还书添加还书记录。如图4-5、4-6、4-7所示。图4-5 借书处理图4-6 搜索到该记
30、录图4-7 借阅信息表刷新记录(1) 确认借书按钮的代码为: private void bXBorrow_borrow_Borrow_Click(object sender, EventArgs e) SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = String.Format(insert into Borrow (BookNumber, ReaderNumber, BorrowDate) values (0,1,2), this.tbBorrow_bor
31、row_booknumber.Text, this.tbBorrow_borrow_readernumber.Text, this.tbBorrow_borrow_dateborrow.Text); if (this.tbBorrow_borrow_booknumber.Text != & this.tbBorrow_borrow_readernumber.Text != & this.tbBorrow_borrow_dateborrow.Text != ) try int count = command.ExecuteNonQuery(); if (count = 1) MessageBox
32、.Show(借阅信息保存成功!); catch MessageBox.Show(借阅失败!, 错误!,MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show(信息不完整!请重新输入!); return; reader.Close(); (2) 搜索按钮的代码为: private void bXBorrow_return_Search_Click(object sender, EventArgs e) SqlCommand command = new SqlCommand(); command.Connection =
33、connection; command.CommandText = String.Format(select * from Borrow where BookNumber = 0 and ReaderNumber = 1,this.tbBorrow_return_booknumber.Text,this.tbBorrow_return_readernumber.Text); SqlDataReader reader = command.ExecuteReader(); this.lvBorrow_return_borrowinfo.Items.Clear(); while (reader.Re
34、ad() ListViewItem lvi = new ListViewItem(); lvi.Text = readerBookNumber.ToString(); lvi.SubItems.Add(readerReaderNumber.ToString(); lvi.SubItems.Add(readerBorrowDate.ToString(); lvi.SubItems.Add(readerReturnDate.ToString(); this.lvBorrow_return_borrowinfo.Items.Add(lvi); if (lvBorrow_return_borrowin
35、fo.Items.Count = 0) MessageBox.Show(没有搜索到符合条件的记录!); reader.Close(); (3) 确认还书按钮的代码为: private void bXBorrow_return_Return_Click(object sender, EventArgs e) SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = String.Format(update Borrow set ReturnDate = 0 where
36、 BookNumber = 1 and ReaderNumber = 2, this.tbBorrow_return_datereturn.Text,this.tbBorrow_return_booknumber.Text,this.tbBorrow_return_readernumber.Text); if (this.tbBorrow_return_datereturn.Text != ) try int count = command.ExecuteNonQuery(); if (count = 1) MessageBox.Show(还书信息添加成功!); catch MessageBo
37、x.Show(还书失败!, 错误!, MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show(信息不能为空!); 4.5信息查询模块实现本系统的信息查询界面包括读者信息查询、借阅信息查询、图书信息查询。输入图书编号、读者姓名进行读者信息查询,输入图书编号、读者编号进行借阅信息查询,输入图书编号、图书名称进行图书信息查询。如图4-8、4-9、4-10、4-11、4-12所示。图4-8 读者编号查询图4-9 读者姓名查询图4-10 图书编号查询图4-11 图书名称查询图4-12 热门标签查询(1) 读者编号查询按钮的代码为
38、: SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandText = String.Format(select * from Readers where ReaderNumber = 0, this.tBXSearch_readers_readernumber.Text); SqlDataReader reader = command.ExecuteReader(); this.lvSearch_readers_readersinfo.Items.Clear(); while (reader.Read() ListViewItem lvi = new ListViewItem(); lvi.Text = reader