还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计说明书NO.27图书管理系统1.课程设计的目的随着社会的发展,每天都有数以十万、百万计的图书/期刊问世,图书馆的图书和期刊也在迅速的增加面对这些数量庞大的图书管理,需要处理复杂的读者信息,频繁的借还图书信息,图书增减信息,如果仍然采用传统的人工管理方法,既费时费力,更容易出错信息技术的发展给图书的管理带来了新的机遇使用图书管理系统对图书馆进行管理,这不仅解决了一系列的弊端和问题,更加提高了工作效率推行图书管理自动化的基本目标,在於把图书馆由「图书管理的农业社会」带入「图书馆的工业社会」,并以创新具工业化作业精神的服务制度,来满足读者的资讯需求图书馆唯有迈向自动化,才能面对资讯消费者新奥的需求图书馆自动化的主要目标,在於加强服务而不在於精简人力换言之,其效益不在於节省现有的人力、物力,而在於提供许多尚未自动化作业时,所无法提供之服务,期望以最快的速度将资讯传递给读者做最适当之运用以信息化高效管理代替旧的手工作坊开发图书借阅系统,进一步提高办学效益和现代化信息管理水平建立学院数字化WEB图书管理系统,为广大师生提供方便、快捷的资料信息获取渠道和手段减轻图书管理员的负担,节省人力物力开支本课题设计并实现了基于Web的图书馆管理系统,该系统采用现今比较流行的ASP.NET语言,结合SQLServer数据库,实现了图书的借阅、查询、管理等基本功能系统不仅维护方便,节省了图书馆的资源,方便图书馆进行图书管理,同时,用户也能够更容易更直观的查询书籍、管理藏书,使借书、还书、查书的过程大大简化,更加的方便和容易总之,建立图书馆的计算机自动化管理系统,不但可以大大提高图书馆图书流通率,而且推动了社会文化生活的进步2.设计方案论证
2.1系统实现功能主要工作是实现了图书信息功能,图书借还功能等图书信息功能是实现了图书的数字管理,能方便管理员快速查看图书信息;借书功能,用户可以通过此功能选择是否借出检索的书籍;还书功能,读者可以查看自己所借书籍信息;管理员可以查看借书还书历史和违规书籍信息;查看书籍具体信息,管理员可以查看书籍的具体信息以及在图书馆的存储状态
2.2系统分析
2.
2.1系统开发的可行性分析可行性分析FeasibilityAnalysis也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析1经济可行性经济可行性主要是对项目的经济效益进行评价可利用现有的服务器,装上IIS服务器软件,即可成为一台IIS服务器,客户只要连上INTERNET利用自己的机器即可使用系统,对企业不构成经济的负担,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为企事业单位节约大量的人力,物力所带来的效益远远大于系统软件的开发成本在经济上完全可行本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的2技术上的可行性技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等在软件方面,本系统采用的是ASP进行开发,前台网页设计使用的是MicrosoftVisualStudio2010,而数据库系统采用的是MicrosoftSQL2005通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性3时机可行性时机可行性是分析系统开发时机是否成熟目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的设计具有时机可行性4法律可行性本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律因此具有法律可行性综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的
2.
2.2需求分析长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐在借书时,读者首先将要借的书和借阅证交给工作人员,工作人员然后将每本书的信息卡片和读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息在还书时,读者首先将要还的书交给工作人员,工作人员然后根据图书信息找到相应的书卡和借阅证,并填写相应的还书信息了解用户的明确需求,WEB图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认图书馆管理人员功能的信息量大,数据安全性和保密性要求最高本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除并且还应具有生成催还图书报表,并打印输出的功能
2.3数据库设计
(1)管理员权限设置表tb_admSet,如表1所示只有系统分配的用户才能操作图书馆管理系统,而用户的权限又各不相同表1管理员权限设置表字段名数据类型长度主键否描述userNameVarchar80否管理员名称systemSetbit1否系统设置readerManagebit1否读者管理bookManagebit1否图书管理bookBorrowbit1否图书借还systemSearchbit1否系统查询
(2)图书借阅表tb_bookBorrow,如表2所示图书借阅信息实体,用于存储所有图书借阅情况的信息,以准确地记录每本图书的借阅信息表2图书借阅表字段名数据类型长度主键否描述bookBarcodevarchar50否图书条形码bookNamevarchar20否图书名称borrowTimedatetime8否借阅日期returnTimedatetime8否应还日期readerBarCodevarchar50否读者条形码readerNamevarchar20否读者姓名isReturnbit1否是否归还
(3)书架信息表tb_bookcase,如表3所示图书馆对图书的分类,通常是将不同类型的图书分别放置在相应类型的书架上书架信息实体,用于存储图书馆中所有的书架信息表3书架信息表字段名数据类型长度主键否描述bookcaseIDInt4是书架编号bookcaseNamevarchar80否书架名称
(4)图书信息表tb_bookInfo,如表4所示不同的图书,会有不同的图书信息对这些图书信息进行详细的记录,方便了图书的分类和查询图书信息实体,用于存储所有图书的相关信息表4图书信息表字段名数据类型长度主键否描述bookBarCodevarchar100是图书条形码bookNamevarchar100否图书名称bookTypeint4否图书类型bookcaseint4否书架类别bookConcernvarchar100否出版社名称authorvarchar80否作者名称pricemoney8否图书价格borrowSumint4否借阅次数
(5)图书类型信息表tb_bookType如表5所示图书馆会有不同类型的图书,为了避免图书归类发生混乱,必须建立一个图书类型信息实体,用于存储图书的类型信息表5图书类型信息表字段名数据类型长度主键否描述typeIDInt4否图书类型编号typeNamevarchar50否类型名称borrowDayInt4否可借天数
(6)图书馆信息表tb_library,如表6所示每个事物都会有其自身的历史背景,图书馆也不例外为了记录图书馆的历史背景及其相关的信息,需要建立一个图书馆信息实体,用于存储图书馆的有关信息表6图书馆信息表字段名数据类型长度主键否描述libraryNamevarchar80否图书馆名称curatorvarchar80否馆长名称telvarchar100否联系电话addressvarchar200否联系地址emailvarchar100否电子邮件netvarchar200否网址upbuildTimedatetime8否建馆时间remarkvarchar500否备注
(7)读者类型信息表tb_readerType,如表7所示在读者群体中,会有不同的分类,例如借阅图书的读者可能是教师、学生和市民等,所以对读者人群进行有效的分类是至关重要的读者类型信息实体,用于存储读者的类型信息表7读者类型信息表字段名数据类型长度主键否描述idint4是类型编号typevarchar50否类型名称numvarchar50否可借数量
(8)读者信息表tb_readerInfo,如表8所示当有读者借阅图书时,要对读者的各项信息进行记录,以方便归还图书和已借阅图书的历史查询,读者信息实体,用于存储所有借阅图书的读者信息表8读者信息表字段名数据类型长度主键否描述readerBarCodevarchar50是读者条形码readerNamevarchar50否读者名称sexchar10否读者性别readerTypevarchar50否读者类型certificateTypeVarchar50否证件类型certificateVarchar50否证件号码telVarchar50否联系电话emailVarchar50否电子邮件remarkvarchar500否备注
(9)管理员信息表tb_user,如表9所示当管理员登录图书馆管理系统时,需要通过登录窗口验证成功后才能进入系统主页管理员信息实体,用于存储管理员的登录名称和登录密码表9管理员信息表字段名数据类型长度主键否描述userIdint4是管理员编号userNamevarchar50否管理员名称userPwdvarchar50否管理员密码
3.设计结果与分析本网站共分系统设置、读者管理、图书管理、图书借还、系统查询以及更改口令等几大模块,其母版界面如图1所示图1母版页
3.1登录界面登录界面,用户需要密码登录,进入系统,登录设计效果图如图2所示图2登录界面其代码设计如下usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassLogin:System.Web.UI.Page{OperatorClassoperatorclass=newOperatorClass;AdminManageadminmanage=newAdminManage;ReaderManagereadermanage=newReaderManage;protectedvoidPage_LoadobjectsenderEventArgse{}protectedvoidbtnLogin_ClickobjectsenderEventArgse{iftxtAdmin.Text==string.Empty{Response.Writescriptalert管理员名称不能为空!/script;return;}else{DataSetadminds=null;DataSetreaderds=null;adminmanage.Name=txtAdmin.Text;adminmanage.Pwd=txtPwd.Text;adminds=adminmanage.Loginadminmanage;readermanage.ID=txtPwd.Text;readermanage.Name=txtAdmin.Text;readerds=readermanage.ReaderLoginreadermanage;ifadminds.Tables
[0].Rows.Count0txtCode.Text==Request.Cookies[CheckCode].Value{Session[Name]=txtAdmin.Text;Response.RedirectGlobal/Default.aspx;}elseifreaderds.Tables
[0].Rows.Count0txtCode.Text==Request.Cookies[CheckCode].Value{Session[Name]=txtAdmin.Text;Session[readid]=txtPwd.Text;Session[role]=Reader;Response.RedirectGlobal/Default.aspx;}else{Response.Writescriptalert登录名或密码不正确!/script;}}}protectedvoidbtnCancel_ClickobjectsenderEventArgse{txtAdmin.Text=txtPwd.Text=txtCode.Text=string.Empty;}}
3.2读者管理
3.
2.1读者信息的添加与修改输入读者的各项信息,即可添加或修改读者信息,如图3所示图3添加/修改读者信息页面代码如下publicpartialclassReaderManage_AddReader:System.Web.UI.Page{ValidateClassvalidate=newValidateClass;RTypeManagertypemanage=newRTypeManage;ReaderManagereadermanage=newReaderManage;protectedvoidPage_LoadobjectsenderEventArgse{this.Title=添加/修改读者信息页面;if!IsPostBack{ifRequest[readerid]==null{btnAdd.Enabled=true;txtReaderID.Text=readermanage.GetReaderID;txtBirthday.Text=txtDate.Text=DateTime.Now.ToShortDateString;txtDate.Text=txtDate.Text=DateTime.Now.ToShortDateString;}else{btnSave.Enabled=true;txtReaderID.Text=Request[readerid].ToString;readermanage.ID=txtReaderID.Text;DataSetreaderds=readermanage.FindReaderByCodereadermanagetb_reader;txtReader.Text=readerds.Tables
[0].Rows
[0]
[1].ToString;ddlSex.SelectedValue=readerds.Tables
[0].Rows
[0]
[2].ToString;ddlRType.SelectedValue=readerds.Tables
[0].Rows
[0]
[3].ToString;txtBirthday.Text=readerds.Tables
[0].Rows
[0]
[4].ToString;ddlPaperType.SelectedValue=readerds.Tables
[0].Rows
[0]
[5].ToString;txtPaperNum.Text=readerds.Tables
[0].Rows
[0]
[6].ToString;txtTel.Text=readerds.Tables
[0].Rows
[0]
[7].ToString;txtEmail.Text=readerds.Tables
[0].Rows
[0]
[8].ToString;txtDate.Text=readerds.Tables
[0].Rows
[0]
[9].ToString;txtOper.Text=readerds.Tables
[0].Rows
[0]
[10].ToString;txtRemark.Text=readerds.Tables
[0].Rows
[0]
[11].ToString;}DataSettypeds=rtypemanage.GetAllRTypetb_readertype;ddlRType.DataSource=typeds;ddlRType.DataTextField=name;ddlRType.DataBind;}}protectedvoidbtnAdd_ClickobjectsenderEventArgse{ValidateFun;readermanage.ID=txtReaderID.Text;readermanage.Name=txtReader.Text;ifreadermanage.FindReaderByNamereadermanagetb_reader.Tables
[0].Rows.Count0{Response.Writescriptalert该读者已经存在!/script;return;}readermanage.Sex=ddlSex.Text;readermanage.Type=ddlRType.Text;readermanage.Birthday=Convert.ToDateTimetxtBirthday.Text;readermanage.PaperType=ddlPaperType.Text;readermanage.PaperNum=txtPaperNum.Text;readermanage.Tel=txtTel.Text;readermanage.Email=txtEmail.Text;readermanage.CreateDate=Convert.ToDateTimetxtDate.Text;readermanage.Oper=txtOper.Text;readermanage.Remark=txtRemark.Text;readermanage.AddReaderreadermanage;Response.RedirectReaderManage.aspx;}protectedvoidbtnSave_ClickobjectsenderEventArgse{ValidateFun;readermanage.ID=txtReaderID.Text;readermanage.Name=txtReader.Text;readermanage.Sex=ddlSex.Text;readermanage.Type=ddlRType.Text;readermanage.Birthday=Convert.ToDateTimetxtBirthday.Text;readermanage.PaperType=ddlPaperType.Text;readermanage.PaperNum=txtPaperNum.Text;readermanage.Tel=txtTel.Text;readermanage.Email=txtEmail.Text;readermanage.CreateDate=Convert.ToDateTimetxtDate.Text;readermanage.Oper=txtOper.Text;readermanage.Remark=txtRemark.Text;readermanage.UpdateReaderreadermanage;Response.RedirectReaderManage.aspx;}protectedvoidbtnCancel_ClickobjectsenderEventArgse{txtBirthday.Text=txtDate.Text=DateTime.Now.ToShortDateString;txtDate.Text=txtDate.Text=DateTime.Now.ToShortDateString;txtReader.Text=txtPaperNum.Text=txtTel.Text=txtEmail.Text=txtOper.Text=txtRemark.Text=string.Empty;}protectedvoidValidateFun{iftxtReader.Text=={Response.Writescriptalert读者名称不能为空!;location=javascript:history.go-1;/script;return;}if!validate.validateNumtxtPaperNum.Text{Response.Writescriptalert证件号码输入有误!;location=javascript:history.go-1;/script;return;}if!validate.validatePhonetxtTel.Text{Response.Writescriptalert电话号码输入有误!;location=javascript:history.go-1;/script;return;}if!validate.validateEmailtxtEmail.Text{Response.WritescriptalertEmail地址输入有误!;location=javascript:history.go-1;/script;return;}}}
3.
2.2查看读者信息在表中显示读者的各项信息,如图4所示图4查看读者信息页面代码如下publicpartialclassReaderManage_ReaderManage:System.Web.UI.Page{ReaderManagereadermanage=newReaderManage;protectedvoidPage_LoadobjectsenderEventArgse{this.Title=查看读者信息页面;if!IsPostBackgvBind;}protectedvoidgvReaderInfo_PageIndexChangingobjectsenderGridViewPageEventArgse{gvReaderInfo.PageIndex=e.NewPageIndex;gvBind;}protectedvoidgvReaderInfo_RowDeletingobjectsenderGridViewDeleteEventArgse{readermanage.ID=gvReaderInfo.DataKeys[e.RowIndex].Value.ToString;readermanage.DeleteReaderreadermanage;Response.Writescriptalert读者信息删除成功/script;gvBind;}privatevoidgvBind{DataSetds=readermanage.GetAllReadertb_reader;gvReaderInfo.DataSource=ds;gvReaderInfo.DataKeyNames=newstring[]{id};gvReaderInfo.DataBind;}}
3.3图书管理
3.
3.1图书信息的添加与修改输入图书的各项信息,即可添加或修改图书信息,如图5所示图5添加/修改图书信息页面代码如下publicpartialclassBookManage_AddBook:System.Web.UI.Page{ValidateClassvalidate=newValidateClass;BookcaseManagebookcasemanage=newBookcaseManage;BTypeManagebtypemanage=newBTypeManage;BookManagebookmanage=newBookManage;protectedvoidPage_LoadobjectsenderEventArgse{this.Title=添加/修改图书信息页面;if!IsPostBack{DataSetbcaseds=bookcasemanage.GetAllBCasetb_bookcase;ddlBCase.DataSource=bcaseds;ddlBCase.DataTextField=name;ddlBCase.DataBind;DataSetbtypeds=btypemanage.GetAllBTypetb_booktype;ddlBType.DataSource=btypeds;ddlBType.DataTextField=typename;ddlBType.DataBind;ifRequest[bookcode]==null{btnAdd.Enabled=true;txtInTime.Text=DateTime.Now.ToShortDateString;}else{btnSave.Enabled=true;txtBCode.ReadOnly=txtBName.ReadOnly=true;txtBCode.Text=Request[bookcode].ToString;bookmanage.BookCode=txtBCode.Text;DataSetbookds=bookmanage.FindBookByCodebookmanagetb_bookinfo;txtBName.Text=bookds.Tables
[0].Rows
[0]
[1].ToString;ddlBType.SelectedValue=bookds.Tables
[0].Rows
[0]
[2].ToString;txtAuthor.Text=bookds.Tables
[0].Rows
[0]
[3].ToString;txtTranslator.Text=bookds.Tables
[0].Rows
[0]
[4].ToString;txtPub.Text=bookds.Tables
[0].Rows
[0]
[5].ToString;txtPrice.Text=bookds.Tables
[0].Rows
[0]
[6].ToString;txtPage.Text=bookds.Tables
[0].Rows
[0]
[7].ToString;ddlBCase.SelectedValue=bookds.Tables
[0].Rows
[0]
[8].ToString;txtStorage.Text=bookds.Tables
[0].Rows
[0]
[9].ToString;txtInTime.Text=bookds.Tables
[0].Rows
[0]
[10].ToString;txtOper.Text=bookds.Tables
[0].Rows
[0]
[11].ToString;}}}protectedvoidbtnAdd_ClickobjectsenderEventArgse{ValidateFun;bookmanage.BookCode=txtBCode.Text;ifbookmanage.FindBookByCodebookmanagetb_bookinfo.Tables
[0].Rows.Count0{bookmanage.BookName=txtBName.Text;bookmanage.Type=ddlBType.SelectedValue;bookmanage.Author=txtAuthor.Text;bookmanage.Translator=txtTranslator.Text;bookmanage.PubName=txtPub.Text;bookmanage.Price=Convert.ToDecimaltxtPrice.Text;bookmanage.Page=Convert.ToInt32txtPage.Text;bookmanage.Bcase=ddlBCase.SelectedValue;bookmanage.Storage=Convert.ToInt32txtStorage.Text+Convert.ToInt32bookmanage.FindBookByCodebookmanagetb_bookinfo.Tables
[0].Rows
[0]
[9].ToString;bookmanage.InTime=Convert.ToDateTimetxtInTime.Text;bookmanage.Oper=txtOper.Text;bookmanage.UpdateBookbookmanage;}else{bookmanage.BookName=txtBName.Text;bookmanage.Type=ddlBType.SelectedValue;bookmanage.Author=txtAuthor.Text;bookmanage.Translator=txtTranslator.Text;bookmanage.PubName=txtPub.Text;bookmanage.Price=Convert.ToDecimaltxtPrice.Text;bookmanage.Page=Convert.ToInt32txtPage.Text;bookmanage.Bcase=ddlBCase.SelectedValue;bookmanage.Storage=Convert.ToInt32txtStorage.Text;bookmanage.InTime=Convert.ToDateTimetxtInTime.Text;bookmanage.Oper=txtOper.Text;bookmanage.AddBookbookmanage;}Response.RedirectBookManage.aspx;}protectedvoidbtnSave_ClickobjectsenderEventArgse{ValidateFun;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.ToDecimaltxtPrice.Text;bookmanage.Page=Convert.ToInt32txtPage.Text;bookmanage.Bcase=ddlBCase.SelectedValue;bookmanage.Storage=Convert.ToInt32txtStorage.Text;bookmanage.InTime=Convert.ToDateTimetxtInTime.Text;bookmanage.Oper=txtOper.Text;bookmanage.UpdateBookbookmanage;Response.RedirectBookManage.aspx;}protectedvoidbtnCancel_ClickobjectsenderEventArgse{txtInTime.Text=DateTime.Now.ToShortDateString;txtBName.Text=txtAuthor.Text=txtTranslator.Text=txtPub.Text=txtPrice.Text=txtPage.Text=txtStorage.Text=txtOper.Text=string.Empty;}protectedvoidValidateFun{iftxtBCode.Text=={Response.Writescriptalert图书条形码不能为空!;location=javascript:history.go-1;/script;return;}iftxtBName.Text=={Response.Writescriptalert图书名称不能为空!;location=javascript:history.go-1;/script;return;}if!validate.validateNumtxtPrice.Text{Response.Writescriptalert图书价格输入有误!;location=javascript:history.go-1;/script;return;}if!validate.validateNumtxtPage.Text{Response.Writescriptalert图书页码输入有误!;location=javascript:history.go-1;/script;return;}if!validate.validateNumtxtStorage.Text{Response.Writescriptalert图书库存量输入有误!;location=javascript:history.go-1;/script;return;}}}
3.
3.2查看图书信息在表中显示图书的各项信息,如图6所示图6查看图书信息页面代码如下publicpartialclassBookManage_BookManage:System.Web.UI.Page{BookManagebookmanage=newBookManage;protectedvoidPage_LoadobjectsenderEventArgse{this.Title=查看图书信息页面;if!IsPostBackgvBind;}protectedvoidgvBookInfo_PageIndexChangingobjectsenderGridViewPageEventArgse{gvBookInfo.PageIndex=e.NewPageIndex;gvBind;}protectedvoidgvBookInfo_RowDeletingobjectsenderGridViewDeleteEventArgse{bookmanage.BookCode=gvBookInfo.DataKeys[e.RowIndex].Value.ToString;bookmanage.DeleteBookbookmanage;Response.Writescriptalert图书信息删除成功/script;gvBind;}privatevoidgvBind{DataSetds=bookmanage.GetAllBooktb_bookinfo;gvBookInfo.DataSource=ds;gvBookInfo.DataKeyNames=newstring[]{bookcode};gvBookInfo.DataBind;}}
3.4图书借还
3.
4.1借书查询输入读者编号可以显示读者的姓名、证件号、证件类型等读者的信息,并在下方的表格中显示读者将要借的书以及借过的书,如图7所示图7图书借阅页面代码如下publicpartialclassBookBRManage_BorrowBook:System.Web.UI.Page{ReaderManagereadermanage=newReaderManage;RTypeManagertypemanage=newRTypeManage;BookManagebookmanage=newBookManage;BTypeManagebtypemanage=newBTypeManage;BorrowandBackManageborrowandbackmanage=newBorrowandBackManage;protectedvoidPage_LoadobjectsenderEventArgse{this.Title=图书借阅页面;if!IsPostBack{ifSession[role]==Reader{txtReaderID.Text=Session[readid].ToString;}gvBInfoBind;}}protectedvoidbtnSure_ClickobjectsenderEventArgse{iftxtReaderID.Text=={Response.Writescriptalert读者编号不能为空!/script;}else{readermanage.ID=txtReaderID.Text;DataSetreaderds=readermanage.FindReaderByCodereadermanagetb_reader;ifreaderds.Tables
[0].Rows.Count0{txtReader.Text=readerds.Tables
[0].Rows
[0]
[1].ToString;txtSex.Text=readerds.Tables
[0].Rows
[0]
[2].ToString;txtPaperType.Text=readerds.Tables
[0].Rows
[0]
[5].ToString;txtPaperNum.Text=readerds.Tables
[0].Rows
[0]
[6].ToString;txtRType.Text=readerds.Tables
[0].Rows
[0]
[3].ToString;}else{Response.Writescriptalert该读者不存在!/script;return;}rtypemanage.Name=txtRType.Text;DataSetrtypeds=rtypemanage.FindRTypeByNamertypemanagetb_readertype;txtBNum.Text=rtypeds.Tables
[0].Rows
[0]
[2].ToString;gvBRBookBind;Session[readerid]=txtReaderID.Text;}}protectedvoidgvBookInfo_PageIndexChangingobjectsenderGridViewPageEventArgse{gvBookInfo.PageIndex=e.NewPageIndex;gvBInfoBind;}protectedvoidgvBorrowBook_PageIndexChangingobjectsenderGridViewPageEventArgse{gvBorrowBook.PageIndex=e.NewPageIndex;gvBRBookBind;}protectedvoidgvBookInfo_RowUpdatingobjectsenderGridViewUpdateEventArgse{ifSession[readerid]==null{Response.Writescriptalert请输入读者编号!/script;}else{readermanage.ID=Session[readerid].ToString;DataSetreaderds=readermanage.FindReaderByCodereadermanagetb_reader;ifConvert.ToInt32readerds.Tables
[0].Rows
[0]
[13].ToString=Convert.ToInt32txtBNum.Text{Response.Writescriptalert您最多可以借+txtBNum.Text+本书!/script;}else{borrowandbackmanage.ID=borrowandbackmanage.GetBorrowBookID;borrowandbackmanage.ReadID=Session[readerid].ToString;borrowandbackmanage.BookCode=gvBookInfo.DataKeys[e.RowIndex].Value.ToString;borrowandbackmanage.BorrowTime=Convert.ToDateTimeDateTime.Now.ToShortDateString;btypemanage.TypeName=gvBookInfo.Rows[e.RowIndex].Cells
[2].Text;intdays=Convert.ToInt32btypemanage.FindBTypeByNamebtypemanagetb_booktype.Tables
[0].Rows
[0]
[2].ToString;TimeSpantspan=TimeSpan.FromDaysdoubledays;borrowandbackmanage.YGBackTime=borrowandbackmanage.BorrowTime+tspan;borrowandbackmanage.BorrowOper=Session[Name].ToString;borrowandbackmanage.AddBorrowborrowandbackmanage;gvBRBookBind;bookmanage.BookCode=gvBookInfo.DataKeys[e.RowIndex].Value.ToString;DataSetbookds=bookmanage.FindBookByCodebookmanagetb_bookinfo;bookmanage.BorrowNum=Convert.ToInt32bookds.Tables
[0].Rows
[0]
[12].ToString+1;bookmanage.UpdateBorrowNumbookmanage;readermanage.BorrowNum=Convert.ToInt32readerds.Tables
[0].Rows
[0]
[12].ToString+1;readermanage.Num=Convert.ToInt32readerds.Tables
[0].Rows
[0]
[13].ToString+1;readermanage.UpdateBorrowNumreadermanage;}}}protectedvoidgvBInfoBind{DataSetbookds=bookmanage.GetAllBooktb_bookinfo;gvBookInfo.DataSource=bookds;gvBookInfo.DataKeyNames=newstring[]{bookcode};gvBookInfo.DataBind;}protectedvoidgvBRBookBind{borrowandbackmanage.ReadID=txtReaderID.Text;DataSetbrinfods=borrowandbackmanage.FindBoBaBookByRIDborrowandbackmanageview_BookBRInfo;gvBorrowBook.DataSource=brinfods;gvBorrowBook.DataBind;}}
3.
4.2还书查询输入读者编号可以显示读者的姓名、证件号、证件类型等读者的信息,并在下方的表格中显示读者将要归还的书,如图8所示图8图书归还页面代码如下publicpartialclassBookBRManage_ReturnBook:System.Web.UI.Page{ReaderManagereadermanage=newReaderManage;RTypeManagertypemanage=newRTypeManage;BookManagebookmanage=newBookManage;BTypeManagebtypemanage=newBTypeManage;BorrowandBackManageborrowandbackmanage=newBorrowandBackManage;protectedvoidPage_LoadobjectsenderEventArgse{this.Title=图书归还页面;if!IsPostBack{ifSession[role]==Reader{txtReaderID.Text=Session[readid].ToString;}}}protectedvoidbtnSure_ClickobjectsenderEventArgse{iftxtReaderID.Text=={Response.Writescriptalert读者编号不能为空!/script;}else{readermanage.ID=txtReaderID.Text;DataSetreaderds=readermanage.FindReaderByCodereadermanagetb_reader;ifreaderds.Tables
[0].Rows.Count0{txtReader.Text=readerds.Tables
[0].Rows
[0]
[1].ToString;txtSex.Text=readerds.Tables
[0].Rows
[0]
[2].ToString;txtPaperType.Text=readerds.Tables
[0].Rows
[0]
[5].ToString;txtPaperNum.Text=readerds.Tables
[0].Rows
[0]
[6].ToString;txtRType.Text=readerds.Tables
[0].Rows
[0]
[3].ToString;}else{Response.Writescriptalert该读者不存在!/script;return;}rtypemanage.Name=txtRType.Text;DataSetrtypeds=rtypemanage.FindRTypeByNamertypemanagetb_readertype;txtBNum.Text=rtypeds.Tables
[0].Rows
[0]
[2].ToString;gvBRBookBind;Session[readerid]=txtReaderID.Text;}}protectedvoidgvBorrowBook_PageIndexChangingobjectsenderGridViewPageEventArgse{gvBorrowBook.PageIndex=e.NewPageIndex;gvBRBookBind;}protectedvoidgvBorrowBook_RowUpdatingobjectsenderGridViewUpdateEventArgse{ifSession[readerid]==null{Response.Writescriptalert请输入读者编号!/script;}else{borrowandbackmanage.ID=gvBorrowBook.DataKeys[e.RowIndex].Value.ToString;borrowandbackmanage.SJBackTime=Convert.ToDateTimeDateTime.Now.ToShortDateString;borrowandbackmanage.BackOper=Session[Name].ToString;borrowandbackmanage.IsBack=true;borrowandbackmanage.UpdateBackBookborrowandbackmanage;gvBRBookBind;readermanage.ID=Session[readerid].ToString;DataSetreaderds=readermanage.FindReaderByCodereadermanagetb_reader;readermanage.BorrowNum=Convert.ToInt32readerds.Tables
[0].Rows
[0]
[12].ToString;readermanage.Num=Convert.ToInt32readerds.Tables
[0].Rows
[0]
[13].ToString-1;readermanage.UpdateBorrowNumreadermanage;}}protectedvoidgvBRBookBind{borrowandbackmanage.ReadID=txtReaderID.Text;DataSetbrinfods=borrowandbackmanage.FindBoBaBookByRIDborrowandbackmanageview_BookBRInfo;gvBorrowBook.DataSource=brinfods;gvBorrowBook.DataKeyNames=newstring[]{id};gvBorrowBook.DataBind;}}
3.
4.3续借查询输入读者编号可以显示读者的姓名、证件号、证件类型等读者的信息,并在下方的表格中显示读者将要借的书以及续借的书,如图9所示图9图书续借页面代码如下publicpartialclassBookBRManage_RenewBook:System.Web.UI.Page{ReaderManagereadermanage=newReaderManage;RTypeManagertypemanage=newRTypeManage;BookManagebookmanage=newBookManage;BTypeManagebtypemanage=newBTypeManage;BorrowandBackManageborrowandbackmanage=newBorrowandBackManage;protectedvoidPage_LoadobjectsenderEventArgse{this.Title=图书借阅页面;if!IsPostBack{ifSession[role]==Reader{txtReaderID.Text=Session[readid].ToString;}gvBInfoBind;}}protectedvoidbtnSure_ClickobjectsenderEventArgse{iftxtReaderID.Text=={Response.Writescriptalert读者编号不能为空!/script;}else{readermanage.ID=txtReaderID.Text;DataSetreaderds=readermanage.FindReaderByCodereadermanagetb_reader;ifreaderds.Tables
[0].Rows.Count0{txtReader.Text=readerds.Tables
[0].Rows
[0]
[1].ToString;txtSex.Text=readerds.Tables
[0].Rows
[0]
[2].ToString;txtPaperType.Text=readerds.Tables
[0].Rows
[0]
[5].ToString;txtPaperNum.Text=readerds.Tables
[0].Rows
[0]
[6].ToString;txtRType.Text=readerds.Tables
[0].Rows
[0]
[3].ToString;}else{Response.Writescriptalert该读者不存在!/script;return;}rtypemanage.Name=txtRType.Text;DataSetrtypeds=rtypemanage.FindRTypeByNamertypemanagetb_readertype;txtBNum.Text=rtypeds.Tables
[0].Rows
[0]
[2].ToString;gvBRBookBind;Session[readerid]=txtReaderID.Text;}}protectedvoidgvBookInfo_PageIndexChangingobjectsenderGridViewPageEventArgse{gvBookInfo.PageIndex=e.NewPageIndex;gvBInfoBind;}protectedvoidgvBorrowBook_PageIndexChangingobjectsenderGridViewPageEventArgse{gvBorrowBook.PageIndex=e.NewPageIndex;gvBRBookBind;}protectedvoidgvBookInfo_RowUpdatingobjectsenderGridViewUpdateEventArgse{ifSession[readerid]==null{Response.Writescriptalert请输入读者编号!/script;}else{readermanage.ID=Session[readerid].ToString;DataSetreaderds=readermanage.FindReaderByCodereadermanagetb_reader;ifConvert.ToInt32readerds.Tables
[0].Rows
[0]
[13].ToString=Convert.ToInt32txtBNum.Text{Response.Writescriptalert您最多可以借+txtBNum.Text+本书!/script;}else{borrowandbackmanage.ID=borrowandbackmanage.GetBorrowBookID;borrowandbackmanage.ReadID=Session[readerid].ToString;borrowandbackmanage.BookCode=gvBookInfo.DataKeys[e.RowIndex].Value.ToString;borrowandbackmanage.BorrowTime=Convert.ToDateTimeDateTime.Now.ToShortDateString;btypemanage.TypeName=gvBookInfo.Rows[e.RowIndex].Cells
[2].Text;intdays=Convert.ToInt32btypemanage.FindBTypeByNamebtypemanagetb_booktype.Tables
[0].Rows
[0]
[2].ToString;TimeSpantspan=TimeSpan.FromDaysdoubledays;borrowandbackmanage.YGBackTime=borrowandbackmanage.BorrowTime+tspan;borrowandbackmanage.BorrowOper=Session[Name].ToString;borrowandbackmanage.AddBorrowborrowandbackmanage;gvBRBookBind;bookmanage.BookCode=gvBookInfo.DataKeys[e.RowIndex].Value.ToString;DataSetbookds=bookmanage.FindBookByCodebookmanagetb_bookinfo;bookmanage.BorrowNum=Convert.ToInt32bookds.Tables
[0].Rows
[0]
[12].ToString+1;bookmanage.UpdateBorrowNumbookmanage;readermanage.BorrowNum=Convert.ToInt32readerds.Tables
[0].Rows
[0]
[12].ToString+1;readermanage.Num=Convert.ToInt32readerds.Tables
[0].Rows
[0]
[13].ToString+1;readermanage.UpdateBorrowNumreadermanage;}}}protectedvoidgvBInfoBind{DataSetbookds=bookmanage.GetAllBooktb_bookinfo;gvBookInfo.DataSource=bookds;gvBookInfo.DataKeyNames=newstring[]{bookcode};gvBookInfo.DataBind;}protectedvoidgvBRBookBind{borrowandbackmanage.ReadID=txtReaderID.Text;DataSetbrinfods=borrowandbackmanage.FindBoBaBookByRIDborrowandbackmanageview_BookBRInfo;gvBorrowBook.DataSource=brinfods;gvBorrowBook.DataBind;}protectedvoidgvBorrowBook_RowUpdatingobjectsenderGridViewUpdateEventArgse{ifSession[readerid]==null{Response.Writescriptalert请输入读者编号!/script;}else{ifDateTime.ParsegvBorrowBook.Rows[e.RowIndex].Cells
[2].Text.DayOfYearDateTime.Now.DayOfYear{Response.Writescriptalert警告!该书+DateTime.ParsegvBorrowBook.Rows[e.RowIndex].Cells
[2].Text.DayOfYear-DateTime.Now.DayOfYear+天后才能续借!/script;return;}readermanage.ID=Session[readerid].ToString;DataSetreaderds=readermanage.FindReaderByCodereadermanagetb_reader;borrowandbackmanage.ID=gvBorrowBook.DataKeys[e.RowIndex][id].ToString;borrowandbackmanage.BorrowTime=Convert.ToDateTimeDateTime.Now.ToShortDateString;btypemanage.TypeName=gvBorrowBook.Rows[e.RowIndex].Cells
[2].Text;borrowandbackmanage.YGBackTime=borrowandbackmanage.BorrowTime.AddDaysDateTime.ParsegvBorrowBook.Rows[e.RowIndex].Cells
[2].Text.DayOfYear-DateTime.ParsegvBorrowBook.Rows[e.RowIndex].Cells
[1].Text.DayOfYear;borrowandbackmanage.RenewBookborrowandbackmanage;gvBRBookBind;Response.Writescriptalert续借成功!/script;}}}4.设计体会通过这次的课程设计,我已经可以完成这一任务,对自身的编程能力也有了很大的提高当然在学习的过程中曾经碰到过一些让人头痛的问题,我都一一解决了,直到系统全部完成,也让我在解决问题方面的能力得到了提高整个开发的过程对我来说是一次能力的真正提高的过程;是一次将理论应用于实践的过程;是将以前所学知识充分利用的过程,比如管理信息系统和数据库概论等等;管理信息系统是一个社会技术系统,它在应用过程中涉及管理制度、权力结构和人的习惯等等,因此它不但技术要求高,而且影响因素众多,是一个极其复杂的系统通过本次系统的设计分析,加深了对管理信息系统这门课程的认识和理解进一步了解了信息系统的功能和作用,掌握了管理信息系统开发和建立的要点,通过学习,初步掌握开发管理信息系统和在管理中应用计算机的基础能力由此,我们以后对于管理信息系统的学习中,应该尽量联系生产实际,通过实际操作获得对感性认识,提高应用能力和在实践中解决问题的能力及在团队中的协作能力总体说来,在这次次课程设计中,我真正学到了很多有用的东西,是一些在课堂内所学不到的知识,收获很大5.参考文献
[1]郑阿奇,丁有和数据库设计.北京机械工程出版社,2012,1066-93
[2]丁贵广,闫允一孟繁杰编著.ASPNET编程基础与实例[M].第二版.北京机械工业出版社.2004年1月版.289页
[3]刘小东编著.DreamweaverMX实用教程入门与提高[M].第一版.北京中国铁道出版社.2003年5月版.388页
[4]美国LaurenceMorone.yASP.NET基础教程.北京:人民邮电出版社.2009
[5]KarliWatson.C#入门经典(第3版).北京: 清华大学出版社http://book.jd.com/publish/%E6%B8%85%E5%8D%8E%E5%A4%A7%E5%AD%A6%E5%87%BA%E7%89%88%E7%A4%BE_
1.html\o清华大学出版社\t_blank.2006
[6]李华.ASP.NET(C#)程序设计.北京: 清华大学出版社http://book.jd.com/publish/%E6%B8%85%E5%8D%8E%E5%A4%A7%E5%AD%A6%E5%87%BA%E7%89%88%E7%A4%BE_
1.html\o清华大学出版社\t_blank.2010沈阳大学。