基于ASP.NETSQLserver的图书馆管理系统的设计与实现.doc_第1页
基于ASP.NETSQLserver的图书馆管理系统的设计与实现.doc_第2页
基于ASP.NETSQLserver的图书馆管理系统的设计与实现.doc_第3页
基于ASP.NETSQLserver的图书馆管理系统的设计与实现.doc_第4页
基于ASP.NETSQLserver的图书馆管理系统的设计与实现.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

XXXX 学院 毕业设计说明书 基于 ASP.NET+SQLserver 的图书馆管理系统的设 计与实现 -系统设置模块的设计与实现 学生姓名:XXX 学 号:2011201XXX 年级专业:2011 级计算机应用技术 2 年 指导老师:XXXX 系 部:计算机工程系 提交日期:2013 年 5 月 目 录 1 前言2 2 关键技术介绍3 2.1 ASP.NET3 22 SQL Server4 3 系统分析和设计5 31 需求分析5 3.2 数据库设计5 33 系统总体设计8 4 系统的实现.9 4.1 网站首页设计.9 4.2 系统设置11 4.2.1 图书馆信息.11 4.2.2 管理员设置.14 5 结束语.17 参考文献.18 基于 ASP.NET+SQLserver 的图书馆管理系统的设计与 实现 -系统设置模块的设计与实现 作者:XXX 指导老师:XXX (东莞职业技术学院 2010 级计算机应用技术 2 年,东莞 523808) 摘要:本课题设计并实现了基于Web的图书馆管理系统,该系统采用现今比较流行的 ASP.NET语言,结合SQL Server数据库,实现了图书的借阅、查询、管理等基本功能。系统 不仅维护方便,节省了图书馆的资源,方便图书馆进行图书管理,同时,用户也能够更容 易更直观的查询书籍、管理藏书,使借书、还书、查书的过程大大简化,更加的方便和容 易。 毕业设计做的系统就是对图书馆的书籍进行管理,主要工作是实现了图书信息功能, 图书借还功能等。图书信息功能是实现了图书的数字管理,能方便管理员快速查看图书信 息;借书功能,用户可以通过此功能选择是否借出检索的书籍;还书功能,读者可以查看 自己所借书籍信息;管理员可以查看借书还书历史和违规书籍信息;查看书籍具体信息, 管理员可以查看书籍的具体信息以及在图书馆的存储状态。 本论文内容主要是运用软件工程的知识,先进行系统需求分析,之后是系统概要设计, 详细设计,并且详细介绍了ASP.NET图书馆管理系统的操作代码和排序的代码编写和测试。 关键词:关键词:ASP.NET语言;图书馆;SQL Server;IIS;HTML;CSS 1 前言 随着社会的发展,每天都有数以十万、百万计的图书/期刊问世,图书馆的 图书和期刊也在迅速的增加。面对这些数量庞大的图书管理,需要处理复杂的 读者信息,频繁的借还图书信息,图书增减信息,如果仍然采用传统的人工管 理方法,既费时费力,更容易出错。 信息技术的发展给图书的管理带来了新的机遇。使用图书管理系统对图书 馆进行管理,这不仅解决了一系列的弊端和问题,更加提高了工作效率。 推行图书管理自动化的基本目标,在於把图书馆由图书管理的农业社会 带入图书馆的工业社会 ,并以创新具工业化作业精神的服务制度,来满足读 者的资讯需求。 图书馆唯有迈向自动化,才能面对资讯消费者新奥的需求。 图书馆自动化 的主要目标,在於加强服务而不在於精简人力。换言之,其 效益不在於节省现 有的人力、物力,而在於提供许多尚未自动化作业时,所无法提供之服务,期 望以最快的速度将资讯传递给读者做最适当之运用。 以信息化高效管理代替旧的手工作坊。开发图书借阅系统,进一步提高办 学效益和现代化信息管理水平。建立学院数字化 WEB 图书管理系统,为广大师 生提供方便、快捷的资料信息获取渠道和手段。减轻图书管理员的负担,节省 人力物力开支。 2 关键技术介绍 2.1 ASP.NET 随着网络经济的到来,微软公司希望帮助用户在任何时候、任何地方、利 用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐。.NET 战 略就是为实现这样的目标而设立的。现在越来越多的企业都建立了自己的 W W W 网站,企业通过网站可以展示产品,发布最新动态,与用户进行交流和沟通, 开展电子商务等。目前都是基于 ASP.NET 和脚本语言,将动态网页和数据库结 合,通过应用程序来处理。ASP.NET 具有如下的性能特点: 1、由于 ASP.NET 页面每次打开都必须经过先编译后解释的过程,所以页面在 反复打开时速度没有任何提升,而 ASP.NET 页面只需要一次编译后不需要重新 编译,这使得在多次访问时速度有了极大的提升。 2、由于 ASP.NET 没有提供任何输出数据为内容的元件,所以在使用 A S P .N E T 撰写数据库页面时只能借助 A D O 的 RecordSet 对象逐笔读取记录,而 ASP.NET 通过 ADO.NET 提供的 DataGrid 等数据库元件可以直接和数据库联系。 3、ASP. NET 支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至 不用停止应用程序的运行就可以更新应用文件。 4、ASP.NET 采取“code-behind”方式编写代码使得代码更易于编写,结构更 清晰,降低了系统的开发与维护的复杂度和费用。 Microsoft 公司推出了基于 XML 的 Web Services 平台的.NET 技术,并提 供包括 Visual Studio .NET 在内的一系列.NET 平台。而 Visual Studio .NET 平台支持的 C#是面向构件的新型开发语言,它具有:(1)支持构件开发;(2)面向 对象; (3) 类型安全;(4)能支持版本处理等特点,因此,开发基于.NET 平台 上的商品化构件,以及基于.NET 平台开发应用程序将成为软件业的发展方向,对 基于.NET 平台的 C# 逆向工程工具,尤其是支持 C#构件化特征的逆向工程工具 的需求便日趋迫切。 C #是一种面向对象的语言,同时也是面向构件的编程语言,它具有面向对 象和面向构件两方面的功能。C # 支持所有关键的面向对象概念:封装、继承 和多态性。 在 C # 中所有的对象被封装在类中,C # 取消了多继承,每个类 仅允许有一个基类,以 Object 作为基类.。当需要多继承时,可以运用接口, 一个类可以实现多个接口,从而实现多继承.。C # 提供名字空间(namespace) 声明一个范围,以便组织代码并创建全局类型。 在一个名字空间下,可以声明别 的名字空间、类、接口、结构、枚举和代理。通过嵌套的名字空间,把语义相关 的程序分成层次结构,从而提供一个逻辑上的组织系统。 2000 年 7 月,ASP.NET 发行。ASP.NET 不是 ASP 的简单升级,而是微软 推出的新一代 Active Server Pages。ASP.NET 是微软发展的新的体系结构.NET 的一部分,其中全新的技术架构会让每个人员的编程生活变得更为简单,Web 应用程序的开发人员使用这个开发环境可以实现更加模块化、功能更强大的应 用程序的编程4。 22 SQL Server SQL Server 是一个关系数据库管理系统,它最初是由 Microsoft Sybase 和 Ashton-Tate 三家公司共同开发的,于 1988 年推出了第一个 OS/2 版本,在 Windows NT 推出后 Microsoft 与 Sybase 在 SQL Server 的开发上就分道扬镳了7。 Microsoft 将 SQL Server 移植到 Windows NT 系统上,专注于开发推广 SQL Server 的 Windows NT 版本,Sybase 则较专注于 SQL Server 在 UNIX 操作系统 上的应用。在本书中介绍的是 Microsoft SQL Server 以后简称为 SQL Server 或 MS SQL Server。SQL Server 2000 是 Microsoft 公司推出的 SQL Server 数据库管 理系统的较新版本,该版本继承了 SQL Server 7.0 版本的优点同时又比它增加 了许多更先进的功能,具有使用方便可伸缩性好与相关软件集成程度高等优点, 可跨越从运行 Microsoft Windows 2000 的膝上型电脑到运行 Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 3 系统分析和设计 31 需求分析 长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程 比较繁琐。在借书时,读者首先将要借的书和借阅证交给工作人员,工作人员 然后将每本书的信息卡片和读者的借阅证放在一个小格栏里,最后在借阅证和 每本书贴的借阅条上填写借阅信息。在还书时,读者首先将要还的书交给工作 人员,工作人员然后根据图书信息找到相应的书卡和借阅证,并填写相应的还 书信息,了解用户的明确需求,WEB 图书管理系统需要满足来自三方面的需求, 这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅 者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆 工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表 给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书 借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表。 图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证 号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。一 般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询 和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证 号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要 求,还保护了图书借阅者的个人隐私。 图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作 人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书借 阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认。 图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现 对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理 人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统 计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本 信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信 息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本 信息记录时,应实现对该图书借阅者借阅记录的级联删除。并且还应具有生成 催还图书报表,并打印输出的功能。 3.2 数据库设计 1.逻辑设计 (1)管理员权限设置表 tb_admSet,如表 3-1 所示。 只有系统分配的用户才能操作图书馆管理系统,而用户的权限又各不相同。 表 3-1 管理员权限设置表 字段名数据类型长度主键否描述 userNameVarchar80否管理员名称 systemSetbit1 否系统设置 readerManagebit1否读者管理 bookManagebit1 否图书管理 bookBorrowbit1否图书借还 systemSearchbit1 否系统查询 (2)图书借阅表 tb_bookBorrow,如表 3-2 所示。 图书借阅信息实体,用于存储所有图书借阅情况的信息,以准确地记录每 本图书的借阅信息。 表 3-2 图书借阅表 字段名数据类型长度主键否描述 bookBarcodevarchar50否图书条形码 bookNamevarchar20否图书名称 borrowTimedatetime8否借阅日期 returnTimedatetime8否应还日期 readerBarCodevarchar50否读者条形码 readerNamevarchar20否读者姓名 isReturnbit1否是否归还 (3)书架信息表 tb_bookcase,如表 3-3 所示。 图书馆对图书的分类,通常是将不同类型的图书分别放置在相应类型的书 架上。书架信息实体,用于存储图书馆中所有的书架信息。 表 3-3 书架信息表 字段名 数据类型长度主键否描述 bookcaseID Int4是书架编号 bookcaseName varchar80否书架名称 (4)图书信息表 tb_bookInfo,如表 3-4 所示。 不同的图书,会有不同的图书信息。对这些图书信息进行详细的记录,方 便了图书的分类和查询。图书信息实体,用于存储所有图书的相关信息。 表 3-4 图书信息表 字段名数据类型长度主键否描述 bookBarCodevarchar100是图书条形码 bookNamevarchar100否图书名称 bookTypeint4否图书类型 bookcaseint4否书架类别 bookConcernvarchar100否出版社名称 authorvarchar80否作者名称 pricemoney8否图书价格 borrowSumint4否借阅次数 (5)图书类型信息表 tb_bookType 如表 3-5 所示。 图书馆会有不同类型的图书,为了避免图书归类发生混乱,必须建立一个 图书类型信息实体,用于存储图书的类型信息。 表 3-5 图书类型信息表 字段名数据类型长度主键否描述 typeIDInt4否图书类型编号 typeNamevarchar50否类型名称 borrowDayInt4否可借天数 (6)图书馆信息表 tb_library,如表 3-6 所示。 每个事物都会有其自身的历史背景,图书馆也不例外。为了记录图书馆的 历史背景及其相关的信息,需要建立一个图书馆信息实体,用于存储图书馆的 有关信息。 表 3-6 图书馆信息表 字段名数据类型长度主键否描述 libraryNamevarchar80否图书馆名称 curatorvarchar80否馆长名称 telvarchar100否联系电话 addressvarchar200否联系地址 emailvarchar100否电子邮件 netvarchar200否网址 upbuildTimedatetime8否建馆时间 remarkvarchar500否备注 (7)读者信息表 tb_readerInfo,如表 3-7 所示。 当有读者借阅图书时,要对读者的各项信息进行记录,以方便归还图书和 已借阅图书的历史查询,读者信息实体,用于存储所有借阅图书的读者信息。 表 3-7 读者信息表 字段名数据类型长度主键否描述 readerBarCodevarchar50是读者条形码 readerNamevarchar50否读者名称 sexchar10否读者性别 readerTypevarchar50否读者类型 certificateTypeVarchar50否证件类型 certificateVarchar50否证件号码 telVarchar50否联系电话 emailVarchar50否电子邮件 remarkvarchar500否备注 (8)读者类型信息表 tb_readerType,如表 3-8 所示。 在读者群体中,会有不同的分类,例如借阅图书的读者可能是教师、学生 和市民等,所以对读者人群进行有效的分类是至关重要的。读者类型信息实体, 用于存储读者的类型信息。 表 3-8 读者类型信息表 字段名数据类型长度主键否描述 idint4是类型编号 typevarchar50否类型名称 numvarchar50否可借数量 (9)管理员信息表 tb_user,如表 3-9 所示。 当管理员登录图书馆管理系统时,需要通过登录窗口验证成功后才能进入 系统主页。管理员信息实体,用于存储管理员的登录名称和登录密码。 表 3-9 管理员信息表 字段名数据类型长度主键否描述 userIdint4是管理员编号 userNamevarchar50否管理员名称 userPwdvarchar50否管理员密码 33 系统总体设计 图 3-1 系统总体设计图 4 系统的实现系统的实现 4.14.1 网站首页设计网站首页设计 管理员通过“系统登录”模块验证后,可以登录到图书馆管理系统的主页。 系统主页主要包括 Banner 信息栏、导航栏、借阅排行榜和版权信息等 4 个部分 12。网站首页运行效果,如图 4-1 所示。 图 4-1 网站首页 其实现代码如下所示。 using System; using System.Data; using System.Configuration; 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; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (Session“userName“ != null) /判断用户是否登录 bindBookInfo(); /调用自定义方法用来绑定图书借阅排 行 else Response.Redirect(“entry.aspx“); /跳转到登录页面 protected void bindBookInfo() string sql = “select top 10 * from tb_bookInfo order by borrowSum desc“; /设置SQL语句 gvBookTaxis.DataSource = dataOperate.getDataset(sql, “tb_bookInfo“); /获取图书 信息数据源 gvBookTaxis.DataBind(); / 绑定GridView控件 protected void gvBookTaxis_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowIndex != -1) /判断GridView控件中是否有值 int id = e.Row.RowIndex + 1;/将当前行的索引加上一赋值给变量id e.Row.Cells0.Text = id.ToString();/将变量id的值传给GridView控件的每一行 的单元格中 if (e.Row.RowType = DataControlRowType.DataRow) /绑定图书类型 string bookType = e.Row.Cells3.Text.ToString(); /获取图书类型编 号 string typeSql = “select * from tb_bookType where TypeID=“ + bookType; SqlDataReader typeSdr = dataOperate.getRow(typeSql); typeSdr.Read(); /读取一条 数据 e.Row.Cells3.Text = typeSdr“typeName“.ToString(); /设置图书类型 /绑定书架 string bookcase = e.Row.Cells4.Text.ToString(); /获取书架编号 string caseSql = “select * from tb_bookcase where bookcaseID=“ + bookcase; SqlDataReader caseSdr = dataOperate.getRow(caseSql); caseSdr.Read(); e.Row.Cells4.Text = caseSdr“bookcaseName“.ToString(); /设置书架 /设置鼠标悬停行的颜色 e.Row.Attributes.Add(“onMouseOver“, “Color=this.style.backgroundColor;this.style.backgroundColor=lightBlue“); e.Row.Attributes.Add(“onMouseOut“, “this.style.backgroundColor=Color;“); 4.24.2 系统设置系统设置 4.2.1 图书馆信息 图书馆信息记录图书馆的各种相关信息,图书馆信息的 E-R 图,如图 4-2 所示。 图 4-2 图书馆信息 E-R 图 根据图书馆 E-R 图设计出图书馆信息页面,选择“系统设置”/“图书馆信 息”命令,进入到图书馆信息页面,页面运行,如图 4-3 所示。 图 4-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; using System.Data.SqlClient; public partial class libraryInfo : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (Session“userName“ != null) /判断管理员是否登录 if (getSet() /判断是否拥有权限 if (!IsPostBack) bindLibrary(); else Response.Write(“alert(您没有此权限); location=index.aspx;“); else Response.Redirect(“entry.aspx“); /返回到登录页面 protected void btnSave_Click(object sender, EventArgs e) string libraryName = txtLibraryName.Text; string curator = txtCurator.Text; string tel = txtTel.Text; string address = txtAddress.Text; string email = txtEmail.Text; string net = txtNet.Text; string upbuildTime = txtUpbuildTime.Text; string remark = txtRemark.Text; string sql = “update tb_library set libraryName=“ + libraryName + “,curator=“ + curator + “,tel=“ + tel + “,address=“ + address + “,email=“ + email + “,net=“ + net + “,upbuildTime=“ + upbuildTime + “,remark=“ + remark + “; if (dataOperate.execSQL(sql) RegisterStartupScript(“, “alert(保存成功!)“); else RegisterStartupScript(“, “alert(保存失败!)“); /自定义方法判断当前管理员是否拥有管理此页面的权限 public bool getSet() string userName = Session“userName“.ToString(); /获取 管理员登录名 string sql = “select * from tb_admSet where userName=“ + userName + “; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); / 读取一条记录 return Convert.ToBoolean(sdr“systemSet“); /返回 是否拥有权限 /自定义方法显示图书馆信息 public void bindLibrary() string sql = “select * from tb_library“; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); txtLibraryName.Text = sdr“libraryName“.ToString(); /获取图书馆名称 txtCurator.Text = sdr“curator“.ToString(); /获取馆长 txtTel.Text = sdr“tel“.ToString(); /获取电话 txtAddress.Text = sdr“address“.ToString(); /获取地址 txtEmail.Text = sdr“email“.ToString(); /获取电子邮件 txtNet.Text = sdr“net“.ToString(); /获取网址 txtUpbuildTime.Text = sdr“upbuildTime“.ToString(); /获取建馆时间 txtRemark.Text = sdr“remark“.ToString(); /获取备注 15 protected void txtRemark_TextChanged(object sender, EventArgs e) 4.2.2 管理员设置 管理员设置模块主要包括查看管理员列表、添加管理员、管理员权限设置 和删除管理员 4 个功能。选择“系统设置”/“管理员设置”命令,进入到管理 员设置页面。在此页面中将显示所有管理员的名称和管理员拥有的权限13。管 理员设置页面,如图 4-4 所示。 图 4-4 管理员设置页面 单击“添加管理员”连接按钮将弹出添加管理员页面对话框,在此对话框 中可以添加新的管理员,新添加的管理员默认拥有图书借还权限和系统查询权 限,如图 4-5 所示。 图 4-5 添加管理员 图 4-6 权限设置 单击“权限设置”链接按钮将弹出管理员权限设置,在此对话框中可以设 置某一个管理员所拥有的权限,如图 4-6 所示。 单击“删除”按钮可以删除某一个管理员信息。 其代码如下: using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class userManage : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (Session“userName“ != null) /判断管理员是否登录 if (getSet() /判断是否拥有权限 bindUerManage(); else Response.Write(“alert(您没有此权限); location=index.aspx;“); else Response.Redirect(“entry.aspx“); /返回到登录页面 public void bindUerManage() string sql = “select * from tb_admSet“; gvAdmSet.DataSource = dataOperate.getDataset(sql, “tb_admSet“); /获取数据源 gvAdmSet.DataKeyNames=new string “userName“; /设置主键 字段 gvAdmSet.DataBind(); /绑顶 GridView控件显示管理员信息 protected void gvAdmSet_RowDeleting(object sender, GridViewDeleteEventArgs e) string userName = this.gvAdmSet.DataKeyse.RowIndex.Value.ToString(); /获取主 键字段 string sql = “delete from tb_admSet where userName=“ + userName + “; dataOperate.execSQL(sql); / 删除管理员信息 bindUerManage(); /重新绑定管理员信息 public bool getSet() string userName = Session“userName“.ToString(); /获取 管理员登录名 string sql = “select * from tb_admSet where userName=“ + userName + “; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); / 读取一条记录 return Convert.ToBoolean(sdr“systemSet“); /返回 是否拥有权限 protected void Header1_Load(object sender, EventArgs e) 5 结束语 通过本次系统的设计分析,加深了对管理信息

温馨提示

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

评论

0/150

提交评论