




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图书馆管理系统-数据库课程设 计系别:计算机科学与技术系 班级:软件工程 09-2 班 姓名:李平 学号: 200913821 选题的目的、意义 随着社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。针对中小 型图书馆或图书室管理落后的情况, 设计实现一个图书信息管理系统, 通过与计算机的 结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来 以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成 本低等。 这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、 正规化的 重要标志之一。而且计算机管理的成本不断降低。因此, 开发一套这样
2、的中小型图书管 理软件已经很有必要,并且实现研究服务于实践的原则。2 SQL Server 2005 概述SQLServer 是一个关系数据库管理系统它是由 Microsoft 推出的。 SQLServer 是 一个具备完全 Web 支持的数据库产品, 提供了对可扩展标记语言 (XML) 的核心支持以 及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据 库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式 轻松存储和检索数据。SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一
3、步拓展应用空间,带来新的商业应用机遇。例如,XML数据库与Web Service的支持将使您的应用实现 Internet 数据互联, .net 集成极大的扩展了开发空间,异构数据 集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C# VB.net、XMLA ADO.net 2.0、SMOAM(等都将成为 SQLServer 数据平台上开发数据相关应用的有力工具。它具有以下特点:(1) 上手容易大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQL Server与Windows界面风格完全一致,且有许多"
4、向导(Wizard)"帮助,因此易于安装和学习, 有关SQL Server的资料、培训随处可得,并且目前国内具有MCDB认证的工程师不在少数(2) 兼容性良好由于今天 Windows操作系统占领着主导地的位,选择 SQL Server 一定会在兼容性 方面取得一些优势。另外, SQLServer 2005 除了具有扩展性,可靠性以外,还具有可 以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结 果以 XML 格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的 企业应用和服务的基石。这些特点在 .NET 战略中发挥着重要的作用。(3) 电子
5、商务在使用由Microsoft SQL Server 2005 关系数据库引擎的情况下,XML数据可在关 系表中进行存储,而查询则能以 XML格式将有关结果返回。此外,XML支持还简化了后 端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用 Hypertext Transfer Protocol (超文本传输协议,HTTP来访问SQL Server 2005,以实现面向SQL Server 2005数据库的安全 Web连接和无须额外编程的联机分析处理(OLAP多维数据集。(4) 数据仓库Microsoft SQL Server 2005非常明显的改进就是增加了 OLAP联机分析处理)功能
6、, 这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLA可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。 数据挖掘功能能够揭示出 隐藏在大量数据中的倾向及趋势, 它允许组织或机构最大限度的从数据中获取价值。 通 过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。3 系统需求分析 随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络 已深深影响到人们生活的各个方面。 另外,传统的图书馆不能满足一部分现代人的需要, 而电子阅览室, 由于其不受时间与空间的限制同时又具有传统图书馆的大部分功能, 能 够满足各类用户的常规与特殊需求,而且其方便
7、快捷,实现技术又比较成熟, 因此受到 当代人的喜爱。该系统主要分为两部分: 读者部分和管理员部分。 为了方便读者查找自己感兴趣的主题 进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏览、可以 查看自己的信息。 本系统还可对用户的账号和书目的阅读权限进行管理。 管理员需要给 用户分配用户名和密码, 及设定用户的级别, 还为用户提供图书的排行榜让用户能知道 那些图书受到大家的欢迎。(1) 系统设置模块:添加删除管理员、设置管理员的权限、说明图书存放书架信息 添加删除书架信息。(2) 读者管理模块:添加删除不同类型的读者及注明可借图书的数量、添加删除读 者的档案。(3) 图书管理
8、模块:添加删除不同类型的图书及注明图书可借的天数库存数量、添加删除图书的档案(4) 图书借还模块:可查询读者借阅和归还图书的信息及图书的现有库存量。(5) 系统查询模块:可根据不同的条件(条形码、书名、类别、作者、书架、出版 社)查询读者需要的图书、读者可根据不同的条件(图书条形码、图书名称、读者编号 读者名字、到期时间)查询自己借阅图书信息。(6) 排行榜模块:可以让读者知道图书借阅的排行榜及读者借阅的排行榜。3.1系统功能结构图根据图书管理系统的实际需求,可以将图书管理系统划分为系统设置、图书管理、 读者管理、图书借还、系统查询、排行榜 6个部分各个部分的具体功能的系统功能结构 图如图3-
9、1所示。图3-1系统功能结构图图书借阅系统完成用户的借书过程其数据流图如图3-2所示图3-2借阅系统的数据流图(2)还书系统完成图书的归还过程其数据流图如图3-3所示借书证*库存表图3-3归还系统的数据流图(3)图书档案管理系统为用户提供图书档案信息其数据流图如图3-4所示图3-4图书档案管理数据流图(4)读者档案系统用于记录读者的详细信息其数据流图如图3-5所示。图3-5 读者档案管理数据流图3.2系统流程图图书管理系统的流程是用户先输入自己的账号密码及系统显示的验证码进入系统 如有一项不符合则不能进入系统,成功登陆系统后系统根剧登陆的账号信息从数据库中 的数据进行对比判断是读者还是管理员,
10、 如果是读者则能进行信息查询,及修改自己的 相关信息,查询到自己所需要的图书就能通过管理员进行借阅图书、归还图书也是通过管理员完成的。如果不是读者而是管理员,那管理员可以进行相关信息的查询、添加删除图书及读者的所有信息、设置相应的权限、 为图书更新排行榜的信息、以及完成读者的图书借阅与归还。图书管理系统的系统流程图如图3-6所示图3-6 图书管理系统的流程图、4.图书管理系统的系统E-R图图书管理系统的系统E-R图如图4-5所示4.1数据表设计本系统使用的数据库管理系统为 SQLServer 2005。数据库中的表有管理员信息表、 图书信息表、读者信息表、管理员权限表、图书借阅归还表等。图书管
11、理员基本信息表tb_admin,如表4-6所示表4-6 tb admin(管理员)表 。字段名数据类型长度主键描述idVarchar50是管理员编号n ameVarchar50否管理员名称pwdVarchar30否密码读者详细信息表tb_reader,如表4-7所示。表4-7 tb_reader(读者信息)表字段名数据类型长度主键描述idVarchar30是读者编号n ameVarchar50否读者名称sexChar4否性别typeVarchar50否读者类型birthdaysmalldatetime4否生日paperTypeVarchar20否证件类型paperNumVarchar30否证件
12、号码telVarchar20否电话emailVarchar50否E-mailcreateDatesmalldatetime4否注册日期operVarchar30否操作员remarkText16否备注borrow numInt4否借阅次数图书详细信息表tb_bookkifo,如表4-8所示。表4-8 tb_bookkifo(图书信息)表字段名数据类型长度主键描述BookcodeVarchar30是图书条形码book nameVarchar50否图书名称typeVarchar50否图书类型autorVarchar50否作者tran slatorVarchar50否译者pub nameVarchar
13、100否出版社priceMoney8否价格pageInt4否页码bcaseVarchar50否书架storageBigi nt8否存储数量in TimeSmalldatetime4否入馆时间operVarchar30否操作员borrow numInt4否被借次数图书借阅和归还信息表tb_borrowandback,如表4-9所示。表4-9 tb_borrowandback(图书借阅和归还信息)表字段名数据类型长度主键描述idVarchar30是借书编号readidVarchar20否读者编号bookcodeVarchar30否图书条形码borrowTimeSmalldatetime4否借书时间
14、ygbackTimeSmalldatetime4否应该还书时间sjbackTimeSmalldatetime4否实际还书时间borrowoperVarchar30否借书操作backoperVarchar30否还书操作isbackBit1否是否归还权限信息表tb_purview,如表4-10所示。表4-10 tb_purview(权限信息)表字段名数据类型长度主键描述IdVarchar50是用户编号sysetBit1否系统设置readsetBit1否读者管理booksetBit1否图书管理borrowbackBit1否图书借还syaqueryBit1否系统查询5.图书信息管理模块图书信息管理模块
15、主要分为查看图书信息页面和添加修改图书信息页面,用户可以在查看图书信息页面查看图书的基本信息,管理员也可以看这些信息,并且可以通过单击“添加图书信息”这个超级链接或 GridView控件中的“详情”超级链接转到添加或 删除图书信息界面,并在该页中添加或修改图书信息,如图5-2与5-3所示。ijinh狮如縫i改I冈审信庖祭评码: 囹口名祢: 图祝誓型:由版社: ffrw; 贝码: 爭絮:阵7?迪魚:Atmta -按作费:C 格式如CIQ了 01 JI 3图5-2添加或修改图书信息界面Dang An Guin U4勧】舲競Efi«SH£t数1111L斷世计恥箭社书架1a肆 ff
16、i图5-3 查看图书信息界面添加图书信息模块实现using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Boo
17、kManage_AddBook : System.Web.UI.PageValidateClass validate=newValidateClass();BookcaseManage bookcasemanage = newBookcaseManage();BTypeManage btypemanage = newBTypeManage();BookManage bookmanage = newBookManage();protected void Page_Load( object sender, EventArgs e)this .Title = "添加/修改图书信息页面 &q
18、uot;if (!IsPostBack)DataSet bcaseds = bookcasemanage.GetAllBCase( "tb_bookcase" ); ddlBCase.DataSource = bcaseds;ddlBCase.DataTextField = "name"ddlBCase.DataBind();"tb_booktype" );DataSet btypeds = btypemanage.GetAllBType("typename" ;ddlBType.DataSource = btyp
19、eds; ddlBType.DataTextField = ddlBType.DataBind();if (Request "bookcode" = null )btnAdd.Enabled =true ;txtInTime.Text =DateTime.Now.ToShortDateString();elsebtnSave.Enabled =true ;true ;txtBCode.ReadOnly = txtBName.ReadOnly =txtBCode.Text = Requestbookcode.ToString();bookmanage.BookCode = t
20、xtBCode.Text;DataSet bookds =bookmanage.FindBookByCode(bookmanage",tb_bookinfo" );txtBName.Text = bookds.Tables0.Rows01.ToString(); ddlBType.SelectedValue =bookds.Tables0.Rows02.ToString();txtAuthor.Text = bookds.Tables0.Rows03.ToString();txtTranslator.Text = bookds.Tables0.Rows04.ToString
21、(); txtPub.Text = bookds.Tables0.Rows05.ToString(); txtPrice.Text = bookds.Tables0.Rows06.ToString(); txtPage.Text = bookds.Tables0.Rows07.ToString(); ddlBCase.SelectedValue =bookds.Tables0.Rows08.ToString();txtStorage.Text = bookds.Tables0.Rows09.ToString();txtInTime.Text = bookds.Tables0.Rows010.T
22、oString();txtOper.Text = bookds.Tables0.Rows011.ToString();protected void btnAdd_Click( object sender, EventArgs e)ValidateFun();bookmanage.BookCode = txtBCode.Text;if (bookmanage.FindBookByCode(bookmanage,"tb_bookinfo" ).Tables0.Rows.Count > 0)bookmanage.BookName = txtBName.Text;bookma
23、nage.Type = ddlBType.SelectedValue; bookmanage.Author = txtAuthor.Text;bookmanage.Translator = txtTranslator.Text;bookmanage.PubName = txtPub.Text;bookmanage.Price = Convert .ToDecimal(txtPrice.Text); bookmanage.Page =Convert .ToInt32(txtPage.Text);bookmanage.Bcase = ddlBCase.SelectedValue;bookmanag
24、e.Storage =Convert .ToInt32(txtStorage.Text) +Convert .ToInt32(bookmanage.FindBookByCode(bookmanage, "tb_bookinfo" ).Tables0.Rows09.ToString();bookmanage.InTime =Convert .ToDateTime(txtInTime.Text);bookmanage.Oper = txtOper.Text; bookmanage.UpdateBook(bookmanage);elsebookmanage.BookName =
25、txtBName.Text;bookmanage.Type = ddlBType.SelectedValue; bookmanage.Author = txtAuthor.Text;bookmanage.Translator = txtTranslator.Text; bookmanage.PubName = txtPub.Text;bookmanage.Price = Convert .ToDecimal(txtPrice.Text); bookmanage.Page =Convert .ToInt32(txtPage.Text);bookmanage.Bcase = ddlBCase.Se
26、lectedValue;bookmanage.Storage =Convert .ToInt32(txtStorage.Text);bookmanage.InTime = Convert .ToDateTime(txtInTime.Text); bookmanage.Oper = txtOper.Text; bookmanage.AddBook(bookmanage);Response.Redirect("BookManage.aspx" );protected void btnSave_Click( object sender, EventArgs e)ValidateF
27、un(); bookmanage.BookCode = txtBCode.Text; bookmanage.BookName = txtBName.Text; bookmanage.Type = ddlBType.SelectedValue; bookmanage.Author = txtAuthor.Text; bookmanage.Translator = txtTranslator.Text; bookmanage.PubName = txtPub.Text; bookmanage.Price =Convert .ToDecimal(txtPrice.Text);bookmanage.P
28、age = Convert .ToInt32(txtPage.Text); bookmanage.Bcase = ddlBCase.SelectedValue; bookmanage.Storage =Convert .ToInt32(txtStorage.Text);bookmanage.InTime = Convert .ToDateTime(txtInTime.Text); bookmanage.Oper = txtOper.Text; bookmanage.UpdateBook(bookmanage); Response.Redirect("BookManage.aspx&q
29、uot; );protected void btnCancel_Click( object sender, EventArgs e)string .Empty;txtInTime.Text = DateTime.Now.ToShortDateString(); txtBName.Text = txtAuthor.Text = txtTranslator.Text = txtPub.Text = txtPrice.Text = txtPage.Text = txtStorage.Text = txtOper.Text =protected void ValidateFun()if (txtBCo
30、de.Text = "" )图书条形码不能为空!);图书名称不能为空! );Response.Write( "<script>alert(' ');location='javascript:history.go(-1)'</script>" return ;if (txtBName.Text = "" )Response.Write( "<script>alert(' ');location='javascript:history.g
31、o(-1)'</script>" return ;if (!validate.validateNum(txtPrice.Text)Response.Write( "<script>alert(' 图书价格输入有误!');location='javascript:history.go(-1)'</script>" );return ;if (!validate.validateNum(txtPage.Text)Response.Write( "<script>alert
32、(' 图书页码输入有误!');location='javascript:history.go(-1)'</script>" );returnif (!validate.validateNum(txtStorage.Text)Response.Write( "<script>alert(' 图书库存量输入有误!');location='javascript:history.go(-1)'</script>" );return5.1图书借还信息模块图书借还管理模块主要分
33、为图书借阅页面和图书归还页面,用户可以在通过这个模块查看图书的借阅和归还信息。管理员可以在图书通过这个模块来完成读者借和还书的操作,如图5-4与5-5所示i籍脸还倆读着彙号:面悸型:身协证EH100D1厦者类型:图书借爲书栗库百总麹借冈倔普fifl程减十xxamz按120阿讎所借至书出职社碍全丰址2NB-14DO;OOn)2)D&-120£&00冰岀版耙书欺5DOOCOC喘全丰fit20IK-MQOtH£naD.120iB0(量工出版祀书霖JDOOCO图5-4图书的借阅管理DZ10JD12创¥22图书!三还诸书皤号maJS'DOCI2HS-
34、1 lflOtDO:JO?D0£ 丄 nOffJOOorooogjjsim全手卅m-1-MOM2D0S4.120OCC0mrt书剽JO woog图5-5 图书归还管理 实现图书的借还功能主要用到了 GridView 模板列技术。 图书借阅代码实现using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebCon
35、trols;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class BookBRManage_BorrowBook : System.Web.UI.PageReaderManage readermanage = newReaderManage();RTypeManage rtypemanage = newRTypeManage();BookManage bookmanage = newBookManage();BTypeManage btypemanage =
36、newBTypeManage();BorrowandBackManage borrowandbackmanage = newBorrowandBackManage(); protected void Page_Load( object sender, EventArgs e)this .Title = "图书借阅页面 "if (!IsPostBack)if (Session "role" = "Reader" )txtReaderID.Text = Session "readid" .ToString();gvBI
37、nfoBind();protected void btnSure_Click( object sender, EventArgs e)if (txtReaderID.Text = "" )Response.Write( "<script>alert(' 读者编号不能为空! ')</script>" ); elsereadermanage.ID = txtReaderID.Text;DataSet readerds = readermanage.FindReaderByCode(readermanage, "
38、;tb_reader" );if (readerds.Tables0.Rows.Count > 0)txtReader.Text = readerds.Tables0.Rows01.ToString(); txtSex.Text = readerds.Tables0.Rows02.ToString();txtPaperType.Text = readerds.Tables0.Rows05.ToString();txtPaperNum.Text = readerds.Tables0.Rows06.ToString(); txtRType.Text = readerds.Table
39、s0.Rows03.ToString();elseResponse.Write( "<script>alert(' 该读者不存在! ')</script>" ); return ;rtypemanage.Name = txtRType.Text;DataSet rtypeds = rtypemanage.FindRTypeByName(rtypemanage, "tb_readertype" );txtBNum.Text = rtypeds.Tables0.Rows02.ToString(); gvBRBookBi
40、nd();Session "readerid" = txtReaderID.Text;protected void gvBookInfo_PageIndexChanging( object sender, GridViewPageEventArgs e)gvBookInfo.PageIndex = e.NewPageIndex;gvBInfoBind();protected void gvBorrowBook_PageIndexChanging( object sender, GridViewPageEventArgs e)gvBorrowBook.PageIndex =
41、e.NewPageIndex;gvBRBookBind();protected void gvBookInfo_RowUpdating( object sender, GridViewUpdateEventArgs e)if (Session "readerid" = null )Response.Write( "<script>alert(' 请输入读者编号! ')</script>" ); elsereadermanage.ID = Session "readerid" .ToString(
42、);DataSet readerds = readermanage.FindReaderByCode(readermanage, "tb_reader" );if ( Convert .ToInt32(readerds.Tables0.Rows013.ToString()>= Convert .ToInt32(txtBNum.Text)Response.Write( "<script>alert(' 您最多可以借 " + txtBNum.Text + "本书! ')</script>" )
43、;elseborrowandbackmanage.ID = borrowandbackmanage.GetBorrowBookID();borrowandbackmanage.ReadID = Session "readerid" .ToString(); borrowandbackmanage.BookCode =gvBookInfo.DataKeyse.RowIndex.Value.ToString(); borrowandbackmanage.BorrowTime =Convert .ToDateTime( DateTime.Now.ToShortDateString
44、(); btypemanage.TypeName =gvBookInfo.Rowse.RowIndex.Cells2.Text;int days =Convert .ToInt32(btypemanage.FindBTypeByName(btypemanage, "tb_booktype" ).Tables0.Rows02.ToString();TimeSpantspan = TimeSpan.FromDays( double )days); borrowandbackmanage.YGBackTime =borrowandbackmanage.BorrowTime + tspan;borrowandbackmanage.BorrowOper = Session "Name".ToString(); borrowandbackmanage.AddBorrow(borrowandbackman
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 言叶之庭观后感
- 课外兴趣活动总结
- 语文期中考试反思(集锦15篇)
- 小学三年级数学几百几十加减几百几十水平考核模拟题带答案
- 资料保护环境的倡议书
- 道歉信英文版
- 课间休息安全教育
- 通道设置安全管理
- 人教辽宁 九年级 下册 语文 第五单元《 任务三 演出与评议》习题课 课件
- 《休闲农业》课件 项目五 休闲农业项目规划设计
- 医院临床、医技科室绩效考核办法
- GB/T 36118-2018气体除菌用聚四氟乙烯微滤膜折叠式过滤芯
- GB/T 34618-2017蒸汽疏水系统在线阀门内漏温度检测方法
- GB/T 29791.4-2013体外诊断医疗器械制造商提供的信息(标示)第4部分:自测用体外诊断试剂
- 水的组成发现史
- 食品安全员守则
- 宗教工作中的相关法律法规课件
- 安全生产费用投入计划表
- 2022年江苏医药职业学院单招考试面试试题及答案解析
- 三年级语文下册第三单元语文园地三(说课稿)
- 房地产开发企业合约规划书(共40)
评论
0/150
提交评论