《图书馆小型管理系统》由会员分享,可在线阅读,更多相关《图书馆小型管理系统(24页珍藏版)》请在金锄头文库上搜索。
1、精选优质文档-倾情为你奉上专 科 毕 业 大 作 业 毕业大作业题目名称图书管理系统设计专业班级11级计算机教育学生姓名刘冬学 号指导教师刘娟二一四年五月六日 目录第一章 前言1.1数据库应用系统简介SQL Server 2005数据库是微软公司精心打造的企业级数据库平台产品,该产品不仅包含了丰富的企业及数据管理功能,还集成了商业智能等特性。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。1.2Visual Studio 2008 开发平台Visual Studio 是一套完整的开发工具集,
2、用于生成 ASP.NET Web 、XML Web Services、和移动应用程序。、Visual C+、Visual C# 和 Visual J# 全都使用相同的 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。1.3图书管理系统当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作
3、效率,而且大大的提高了其安全性。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比
4、较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书
5、情况。第二章 数据库设计2.1 数据库分析本系统利用Visual Studio 2008处理数据库的功能,实现对图书馆信息的管理。主要功能为管理有关用户、管理员、书籍和借阅的信息等。本系统的结构分为用户信息管理模块、书籍信息管理模块、借阅信息管理模块、管理者管理信息模块和查询处理模块。图书馆管理系统框图如图2.1所示成功进入图书馆管理系统管理员用户查询图书借阅图书图书管理查询图书增加图书修改图书删除图书登录失败 图2.1 图书馆管理系统框图2.2 E-R模型设计2.2.1 实体列表实 体描 述用 户所有借阅者,查阅者,以及系统管理员,由用户ID标识图 书图书馆所有图书,由图书ID标识借 阅图书
6、ID、借阅ID、借书日期、借阅证号等属性,由借阅ID标识2.2.2系统的E-R模型该图书管理系统的E-R模型,如图2.2所示用户图书借阅图书管理管理员UIDUNameUPwdUBookIDUStateBookIDBookNameBookTypeBookAuthorBookPriceBookPicBookContentBookIssueIssIDBookIDIssBookIDIssDateTimemN1m2.2 系统的E-R模型2.3 设计数据库2.3.1创建数据库(1)在服务器资源管理器中的任一节点右击。 (2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名B
7、ookManage,其他可采用默认值。 (3)单击“确定”按钮,则新建的数据库就会出现在服务器上。2.3.2创建数据表创建数据库后,为BookManage数据库添加数据表,步骤如下。 (1)在服务器资源管理器中右击数据库BookManage下的“表”文件夹在弹出的快捷菜单中执行“新建表”命令。 (2)添加表的字段和其他详细资料。各表数据结构如下表所示。表2-1用户信息(userinfo)列 名含 义数据类型说明UID用户IDint自动,主键UName用户名vchar(50)不为空UPwd密码vchar(50)不为空UState用户权限,管理员=1,普通用户=2int不为空,默认值为2UBook
8、ID借阅证号bigint可以为空表2-2图书信息(bookinfo)列 名含 义数据类型主 键BookID图书IDbigint自动,主键BookName图书名称Varchar(50)不为空BookType类别Varchar(100)不为空BookAuthor作者Varchar(100)不为空BookPrice价格smallmoney不为空BookPic封面Varchar(200)允许为空BookContent内容简介text不为空BookIssue图书制定访问码Varchar(50)不为空表2-3借阅信息(issueinfo)列 名含 义数据类型说明IssID借阅IDbigint自动,主键Bo
9、okID图书IDbigint外键IssBookID借阅证号bigint不为空IssDateTime借书日期datetime不为空2.4 数据库中表的关系在数据库中新建BookManage数据库的数据库关系图如图2.4所示图 2.4 数据库关系图第三章 界面设计3.1 主界面进入Visual Studio 2008,创建一个新的“Windows应用程序”类型的项目,名为“图书馆管理”。将默认创建的窗体命名为“图书馆管理系统”,把“图书馆管理系统”作为本系统中的主界面。在窗体中添加一个菜单(MenuStrip)控件,一个工具栏(ToolStrip)控件。MenuStrip中的菜单项,子菜单项如图3
10、.1所示图3.1 主界面3.2 用户登录界面本系统的用户非为普通用户和管理用户,管理用户具有系统提供的所有权限,普通用户可以查询图书、借阅图书。在窗体中添加3个标签(Label)控件,2个按钮(Button)控件,1个组合框(ComboBox)控件,2个文本框(TextBox)控件。用户类型分为管理用户和普通用户,在组合窗口中添加这两项。3.3 图书查询界面图书查询提供组合查询的方式,界面窗体名称为“frmSearchBook.cs”,图书类别组合框中的项是从数据库中获取的,在设计时不需要添加内容。在条件组合框中输入“or”和“and”,来动态实现条件组合。在窗体中添加2个分组框(GroupB
11、ox)控件:搜索条件、搜索结果,各种控件的添加如图3.3所示图3.3 图书查询界面在右边的分组框中添加DataGridView控件,单击右上角的黑色三角,选择“在父容器中停靠”选项。3.4 图书入库界面管理员有权限将图书添加到数据库中,图书入库界面的设计如图3.4所示图3.4 图书入库界面在窗体的左边的分组框中添加标签和文本框,用来接收管理员输入的图书信息,以便保存到数据库中。在右边的分组框中添加DataGridView控件,可以显示数据库中的图书信息,新添加的图书信息也可以显示出来。管理员可以在DataGridView控件中直接修改数据,也可以通过右边的分组框实现图书信息的修改。3.5 图书
12、借阅界面根据图书馆中已有的图书信息,用户可以通过图书证号实现借阅。界面设计如图3.6所示图 3.6 图书借阅界面第四章 通用类的生成本系统的主要操作都需要与数据库发生交互,为了提高代码的重用性和规范性,把与数据库交互的功能单独放在一个类中,在该类中实现数据库的增加、删除、修改、查询等通用功能。4.1 连接数据库(1)定义数据库连接字符串,代码如下:Private static string ConnectString = Data Source= (local)sqlexpress;DataBase=BookManage.mdf;(2)创建Connection对象,代码如下:SqlConnec
13、tion con = new SqlConnection(ConnectString);(3)打开连接,代码如下:con.Open();(4)关闭连接,代码如下:con.Close();4.2 操作数据库中的数据using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace BookManage class DataAccess private static string ConnectString = Data Source =A20SQLEXPRESS;AttachDbFilename=F:BookManagedataBookManage.mdf;Integrated Security=False;/数据库连接字符串 / / 根据表名获取数据集的表 / / / public static DataTable GetD