软件工程实训报告--图书管理系统.doc_第1页
软件工程实训报告--图书管理系统.doc_第2页
软件工程实训报告--图书管理系统.doc_第3页
软件工程实训报告--图书管理系统.doc_第4页
软件工程实训报告--图书管理系统.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

目目 录录 1项目论证和计划项目论证和计划.3 1.1 系统调查系统调查3 1.2 系统的总体功能需求和性能要求系统的总体功能需求和性能要求4 1.3 系统开发的框架系统开发的框架4 2可行性分析可行性分析 5 2.1 技术可行性技术可行性5 2.2 经济可行性经济可行性5 2.3 管理可行性管理可行性5 2.4 开发环境的可行性开发环境的可行性5 3需求分析需求分析5 3.1 数据需求数据需求5 3.2 管理需求管理需求6 3.3 用例图用例图6 3.4 系统流程图系统流程图7 4总体设计总体设计7 4.1 功能模块图功能模块图7 4.2 系统功能流程图系统功能流程图8 4.3 ipo 图图8 4.4 系统数据库关系说明图系统数据库关系说明图9 5详细设计详细设计9 5.1 数据库详细设计数据库详细设计9 52 系统设计系统设计.11 521 图书借还图书借还-图书借阅设计图书借阅设计.11 5211 模块实现功能模块实现功能11 5212 模块程序流程图模块程序流程图11 5213 模块源代码模块源代码12 522图书借还图书借还-图书归还设计图书归还设计15 5221 模块实现功能模块实现功能15 5222 模块程序流程图模块程序流程图15 5223 模块源代码模块源代码16 523 系统查询系统查询-图书档案查询设计图书档案查询设计.18 5231 模块实现功能模块实现功能18 5232 模块程序流程图模块程序流程图18 5233 模块源代码模块源代码18 524系统查询系统查询-图书借阅查询设计图书借阅查询设计20 5241 模块实现功能模块实现功能20 5242 模块程序流程图模块程序流程图20 5243 模块源代码模块源代码20 525 排行榜排行榜-图书借阅排行榜设计图书借阅排行榜设计.22 5251 模块实现功能模块实现功能22 5252 模块程序流程图模块程序流程图23 5253 模块源代码模块源代码23 526排行榜排行榜-读者借阅排行榜设计读者借阅排行榜设计24 5261 模块实现功能模块实现功能24 5262 模块程序流程图模块程序流程图24 5263 模块源代码模块源代码24 527更改口令设计更改口令设计.25 5271 模块实现功能模块实现功能25 5272 模块程序流程图模块程序流程图25 5273 模块源代码模块源代码25 528系统登录设计系统登录设计.26 5281 模块实现功能模块实现功能26 5282 模块程序流程图模块程序流程图26 5213 模块源代码模块源代码27 6系统实现系统实现29 6.1 开发工具开发工具29 6.2 ms sql server2005 数据库数据库31 6.3 运行平台运行平台32 7测试与维护测试与维护 33 7.1 测试结果测试结果33 7.2 系统维护系统维护33 8参考文献参考文献35 1项目论证和计划项目论证和计划 利用 c#.net 开发工具和 mssqlserver2005 数据库,设计出相应的基于 b/s 的图书管理系统。 1.1 系统调查系统调查 一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的 借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前, 借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将 要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的 卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填 写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员, 工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这 样还书过程就完成了。 以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流 程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有 限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我 们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小 了,读者可以花更多的时间在选择书和看书上。 为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程 序以提高图书馆的管理效率。使用该程序之后,工作人员可以查询某位读者、 某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表 格,以便全面掌握图书的流通情况。 1.2 系统的总体功能需求和性能要求系统的总体功能需求和性能要求 总体需求:立足于校园实际,着眼于未来发展,建成符合标准化协议、通 用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的 共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对 图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为 管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可 以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读 者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以 全面掌握图书的流通情况。 本系统具有以下几个特点: 1) 简单性。系统设计尽量简单,从而实现使用方便、提高效率、节省开支、 提高系统的运行质量。 2) 灵活性。系统对外界条件的变化有较强的适应能力。 3) 完整性。系统是各个子系统的集合,作为一个有机的整体存在。因此, 要求各个子系统的功能尽量规范,数据采集统一,语言描述一致。 4) 可靠性。实现安全的、可靠的数据保护措施。 性能要求:图书馆管提供的信息必须及时的反映在图书馆的工作平台上。 图书管理系统中的各种各样的信息必须无差错的存储在图书馆的主服务器上。 对服务器上的数据必须进行及时正确的刷新。 安全与保密要求:服务器的管理员享有对借阅者信息库以及图书信息库和 图书借阅信息库的管理与修改。操作员享有对图书借阅信息库的部分修改(写 入与读出) 。而借阅者只有对图书信息的查询。 1.3 系统开发的框架系统开发的框架 系统开发框架如图所示。 2可行性分析可行性分析 2.1 技术可行性技术可行性 随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发 软件的能力,能够满足自己行业的特别需求。而这个系统尽管在组织关系上较 为复杂、繁琐,但从整个系统的技术构成上看,它仍然属于一个数据库应用类 的系统。其基本操作还是对存在的数据库进行添加、删除、查找、编辑等。所 以就单纯的数据库应用来看,暂不存在太大的技术问题。 2.2 经济可行性经济可行性 对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言 比较多。但减少了数据的流通环节,提高了效率,又保证了各项数据的准确性, 同时也避免了因工作人员的流动造成的数据丢失等问题,适应了当前的发展形 势。 2.3 管理可行性管理可行性 随着时代的发展,工作人员的素质已经逐步提高,不论是对于电脑系统的 基本操作还是对于系统的维护都有了一定得基础,管理的可行性也得到了保障。 2.4 开发环境的可行性开发环境的可行性 c#.net 和 mssqlserver2005 都是微软提供给开发人员的使用工具,因为两 者都运行在统一平台上,所以兼容性极高,不会出现系统兼容问题。对于小型 应用来说,直接使用该数据库是个质优价廉的选择,mssqlserver2005 不仅具有 大型数据库的处理速度,还具有小型数据库的低成本,所以非他莫属。visual studio2005 开发环境是微软提供的,它具有图形化界面,以及方便简单的操作 帮助,从某种程度上提供了一个很好的开发环境,使开发效率能够大幅度提升。 3需求分析需求分析 图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图 书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管 理者对图书管理系统提供极大的帮助。 3.1 数据需求数据需求 根据图书管理系统的数据需求,先讲记录的信息分类,要记录的信息如下: (1)管理员信息:管理员编号、管理员名称、管理员密码。 (2)书架信息:书架编号、书架名称。 (3)图书信息:条形码、书名、类型编号、作者、译者、出版社、价格、 页码、书架、库存量、录入时间、操作员、借阅次数。 (4)图书类型信息:标识、图书类型名称、可借天数。 (5)图书借还信息:借书编号、读者编号、图书条形码、借书时间、应该 还书时间、实际还书时间、借书操作员、还书操作员、是否归还。 (6)图书馆信息:图书馆名称、馆长、联系电话、联系地址、联系邮箱、 网址、建馆日期、简介。 (7)管理员权限: 管理员编号、系统设置、读者管理、图书管理、图书借 还、系统查询。 (8)读者信息:读者编号、读者姓名、性别、读者类型、出生日期、有效 证件、证件号码、联系电话、email 地址、等级日期、操作员、备注、借阅次 数、当前借阅数量。 (9)读者类型:类型标识、读者类型、可借数量。 3.2 管理需求管理需求 登录系统之后显示系统设置、更改口令、读者管理、图书管理、图书借还、 系统查询、排行榜等信息。 系统设置:图书馆信息的添加和修改、管理员信息和书架信息的添加和修 改,查询。 更改口令:修改用户名的密码。 读者管理:读者类型和读者信息的增、删、改、查。 图书管理:图书类型和图书信息的增、删、改、查。 图书借还:能够通过读者编号,获得读者信息以及借阅书籍的相关信息, 进行借书和还书的操作,并能记录图书和读者的借阅量。 系统查询:根据关键字,查询图书信息和图书借阅信息。 排行榜:列出图书借阅前五名和读者借阅前五名。 3.3 用例图用例图 读者用例图如图所示。 管理员用例图如图所示。 3.4 系统流程图系统流程图 系统流程图如图所示。 4总体设计总体设计 4.1 功能模块图功能模块图 功能模块图如图所示。 登录系统 系 统 设 置 读 者 管 理 图 书 管 理 图 书 借 还 系 统 查 询 排 行 榜 更 改 口 令 图 书 馆 信 息 管 理 员 设 置 书 架 设 置 读 者 类 型 管 理 读 者 档 案 管 理 图 书 类 型 管 理 图 书 档 案 管 理 图 书 借 阅 图 书 归 还 图 书 档 案 查 询 图 书 借 阅 查 询 图 书 借 阅 排 行 读 者 借 阅 排 行 4.2 系统功能流程图系统功能流程图 系统功能流程图如图所示。 开始 登陆窗口 主界面 模块选择 数据维护 数据查询 数据统计分析 系统维护 4.3 ipo 图图 系统 ipo 图如图所示。 用户信息 借书信息 还书信息 排名信息 增删改用户信 息 借书信息查询 借书操作 还书信息查询 还书操作 借还书排名查 询 用户信息新信 息 借书新信息 还书新信息 排名情况 输入处理输出 4.4 系统数据库关系说明图系统数据库关系说明图 系统数据库关系说明图如图所示。 5详细设计详细设计 5.1 数据库详细设计数据库详细设计 tb_admin 表表(管理员信息管理员信息): 列名数据类型约束含义 idvarchar(50)主键,非空管理员编号 namevchar(50)允许空管理员名称 pwdvchar(30)允许空管理员密码 tb_bookcase 表表(书架信息书架信息) 列名数据类型约束含义 idvarchar(30)主键,非空书架编号 namevarchar(50)允许空书架名称 tb_bookinfo 表表(图书信息图书信息) 列名数据类型约束含义 bookcodevarchar(30)主键,非空条形码 booknamevarchar(50)允许空书名 typevarchar(50)允许空类型编号 authorvarchar(50)允许空作者 translatorvarchar(50)允许空译者 pubnamevarchar(100)允许空出版社 pricemoney允许空价格 pageint允许空页码 bcasevarchar(50)允许空书架 storagebigint允许空库存量 intimesmalldatetime允许空录入时间 opervarchar(30)允许空操作员 borrownumint允许空借阅次数 tb_booktype 表表(图书类型信息图书类型信息) 列名数据类型约束含义 idint非空标识 typenamevarchar(30)主键,非空图书类型名称 daysint允许空可借天数 tb_borrowandback 表表(图书借还信息图书借还信息) 列名数据类型约束含义 idvarchar(30)主键,非空借书编号 readeridvarchar(20)允许空读者编号 bookcodevarchar(30)允许空图书条形码 borrowtimesmalldatetime允许空借书时间 ygbacktimesmalldatetime允许空应该还书时间 sjbacktimesmalldatetime允许空实际还书时间 borrowopervarchar(30)允许空借书操作员 backopervarchar(30)允许空还书操作员 isbackbit允许空是否归还 tb_library 表表(图书馆信息图书馆信息) 列名数据类型约束含义 librarynamevarchar(30)允许空图书馆名称 curatorvarchar(20)允许空馆长 telvarchar(20)允许空联系电话 addressvarchar(100)允许空联系地址 emailvarchar(100)允许空联系邮箱 urlvarchar(100)允许空网址 createdatesmalldatetime允许空建馆日期 introducetext允许空简介 tb_purview 表表(管理员权限管理员权限) 列名数据类型约束含义 idvarchar(50)主键,非空管理员编号 syssetbit允许空系统设置 readsetbit允许空读者管理 booksetbit允许空图书管理 borrowbackbit允许空图书借还 sysquerybit允许空系统查询 tb_reader 表表(读者信息读者信息) 列名数据类型约束含义 idvarchar(30)主键,非空读者编号 namevarchar(50)允许空读者姓名 sexchar(4)允许空性别 typevarchar(50)允许空读者类型 birthdaysmalldatetime允许空出生日期 papertypevarchar(20)允许空有效证件 papernumvarchar(30)允许空证件号码 telvarchar(20)允许空联系电话 emailvarchar(50)允许空email 地址 createdatesmalldatetime允许空等级日期 opervarchar(30)允许空操作员 remarktext允许空备注 borrownumint允许空借阅次数 numint允许空当前借阅数量 tb_readertype 表表(读者类型读者类型) 列名数据类型约束含义 idint非空类型标识 namevarchar(50)主键,非空读者类型 numberint允许空可借数量 52 系统设计系统设计 521 图书借还图书借还-图书借阅设计图书借阅设计 5211 模块实现功能模块实现功能 图书借阅,输入读者的姓编号,点击确定就显示了读者信息。 ,下方显示可 借阅的书籍,点击借阅,就借阅成功并且显示读者所借阅的书籍。如图所示。 5212 模块程序流程图模块程序流程图 模块程序流程图如图所示。 开始 结束 存在读者 借阅书籍 存在书籍 否 否 是 是 5213 模块源代码模块源代码 protected void page_load(object sender, eventargs e) this.title = “图书借阅页面“; if (!ispostback) if (session“role“ = “reader“) txtreaderid.text = session“readid“.tostring(); gvbinfobind(); protected void btnsure_click(object sender, eventargs e) if (txtreaderid.text = “) response.write(“alert(读者编号不能为空!)“); else readermanage.id = txtreaderid.text; dataset readerds = readermanage.findreaderbycode(readermanage, “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.tables0.rows03.tostring(); else response.write(“alert(该读者不存在!)“); return; rtypemanage.name = txtrtype.text; dataset rtypeds = rtypemanage.findrtypebyname(rtypemanage, “tb_readertype“); txtbnum.text = rtypeds.tables0.rows02.tostring(); gvbrbookbind(); 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 = e.newpageindex; gvbrbookbind(); protected void gvbookinfo_rowupdating(object sender, gridviewupdateeventargs e) if (session“readerid“ = null) response.write(“alert(请输入读者编号!)“); else readermanage.id = session“readerid“.tostring(); dataset readerds = readermanage.findreaderbycode(readermanage, “tb_reader“); if (convert.toint32(readerds.tables0.rows013.tostring() = convert.toint32(txtbnum.text) response.write(“alert(您最多可以借“ + txtbnum.text + “本书!)“); else borrowandbackmanage.id = borrowandbackmanage.getborrowbookid(); borrowandbackmanage.readid = session“readerid“.tostring(); borrowandbackmanage.bookcode = gvbookinfo.datakeyse.rowindex.value.tostring(); borrowandbackmanage.borrowtime = convert.todatetime(datetime.now.toshortdatestring(); btypemanage.typename = gvbookinfo.rowse.rowindex.cells2.text; int days = convert.toint32(btypemanage.findbtypebyname(btypemanage, “tb_booktype“).tables0.rows02.tostring(); timespan tspan = timespan.fromdays(double)days); borrowandbackmanage.ygbacktime = borrowandbackmanage.borrowtime + tspan; borrowandbackmanage.borrowoper = session“name“.tostring(); borrowandbackmanage.addborrow(borrowandbackmanage); gvbrbookbind(); bookmanage.bookcode = gvbookinfo.datakeyse.rowindex.value.tostring(); dataset bookds = bookmanage.findbookbycode(bookmanage, “tb_bookinfo“); bookmanage.borrownum = convert.toint32(bookds.tables0.rows012.tostring() + 1; bookmanage.updateborrownum(bookmanage); readermanage.borrownum = convert.toint32(readerds.tables0.rows012.tostring() + 1; readermanage.num = convert.toint32(readerds.tables0.rows013.tostring() + 1; readermanage.updateborrownum(readermanage); protected void gvbinfobind() dataset bookds = bookmanage.getallbook(“tb_bookinfo“); gvbookinfo.datasource = bookds; gvbookinfo.datakeynames = new string “bookcode“ ; gvbookinfo.databind(); protected void gvbrbookbind() borrowandbackmanage.readid = txtreaderid.text; dataset brinfods = borrowandbackmanage.findbobabookbyrid(borrowandbackmanage, “view_bookbrinfo“); gvborrowbook.datasource = brinfods; gvborrowbook.databind(); 522 图书借还图书借还-图书归还设计图书归还设计 5221 模块实现功能模块实现功能 图书归还,输入读者编号,点击确定,显示读者信息,点击归还,就归还 成功并且显示归还的书籍。如图所示。 5222 模块程序流程图模块程序流程图 模块程序流程图如图所示。 开始 结束 存在读者 归还书籍 是否还书 否 否 是 是 5223 模块源代码模块源代码 protected void page_load(object sender, eventargs e) this.title = “图书归还页面“; if (!ispostback) if (session“role“ = “reader“) txtreaderid.text = session“readid“.tostring(); protected void btnsure_click(object sender, eventargs e) if (txtreaderid.text = “) response.write(“alert(读者编号不能为空!)“); else readermanage.id = txtreaderid.text; dataset readerds = readermanage.findreaderbycode(readermanage, “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.tables0.rows03.tostring(); else response.write(“alert(该读者不存在!)“); return; rtypemanage.name = txtrtype.text; dataset rtypeds = rtypemanage.findrtypebyname(rtypemanage, “tb_readertype“); txtbnum.text = rtypeds.tables0.rows02.tostring(); gvbrbookbind(); session“readerid“ = txtreaderid.text; protected void gvborrowbook_pageindexchanging(object sender, gridviewpageeventargs e) gvborrowbook.pageindex = e.newpageindex; gvbrbookbind(); protected void gvborrowbook_rowupdating(object sender, gridviewupdateeventargs e) if (session“readerid“ = null) response.write(“alert(请输入读者编号!)“); else borrowandbackmanage.id = gvborrowbook.datakeyse.rowindex.value.tostring(); borrowandbackmanage.sjbacktime = convert.todatetime(datetime.now.toshortdatestring(); borrowandbackmanage.backoper = session“name“.tostring(); borrowandbackmanage.isback = true; borrowandbackmanage.updatebackbook(borrowandbackmanage); gvbrbookbind(); readermanage.id = session“readerid“.tostring(); dataset readerds = readermanage.findreaderbycode(readermanage, “tb_reader“); readermanage.borrownum = convert.toint32(readerds.tables0.rows012.tostring(); readermanage.num = convert.toint32(readerds.tables0.rows013.tostring() - 1; readermanage.updateborrownum(readermanage); protected void gvbrbookbind() borrowandbackmanage.readid = txtreaderid.text; dataset brinfods = borrowandbackmanage.findbobabookbyrid(borrowandbackmanage, “view_bookbrinfo“); gvborrowbook.datasource = brinfods; gvborrowbook.datakeynames = new string “id“ ; gvborrowbook.databind(); 523 系统查询系统查询-图书档案查询设计图书档案查询设计 5231 模块实现功能模块实现功能 图书档案查询,根据查询条件进行选择,单击查询,则会出现要查询的图 书档案,如图所示。 5232 模块程序流程图模块程序流程图 模块程序流程图如图所示。 开始 结束 存在书籍 显示结果 否 是 5233 模块源代码模块源代码 protected void page_load(object sender, eventargs e) this.title = “图书档案查询页面“; if (!ispostback) gvbind(); protected void btnquery_click(object sender, eventargs e) gvbind(); protected void gvbookinfo_pageindexchanging(object sender, gridviewpageeventargs e) gvbookinfo.pageindex = e.newpageindex; gvbind(); protected void gvbind() dataset ds = null; int intcondition = ddlcondition.selectedindex; if (txtcondition.text = “) ds = bookmanage.getallbook(“tb_bookinfo“); else switch (intcondition) case 0: bookmanage.bookcode = txtcondition.text; ds = bookmanage.findbookbycode(bookmanage, “tb_bookinfo“); break; case 1: bookmanage.bookname = txtcondition.text; ds = bookmanage.findbookbyname(bookmanage, “tb_bookinfo“); break; case 2: bookmanage.type = txtcondition.text; ds = bookmanage.findbookbytype(bookmanage, “tb_bookinfo“); break; case 3: bookmanage.author = txtcondition.text; ds = bookmanage.findbookbyauthor(bookmanage, “tb_bookinfo“); break; case 4: bookmanage.pubname = txtcondition.text; ds = bookmanage.findbookbypub(bookmanage, “tb_bookinfo“); break; case 5: bookmanage.bcase = txtcondition.text; ds = bookmanage.findbookbybcase(bookmanage, “tb_bookinfo“); break; gvbookinfo.datasource = ds; gvbookinfo.databind(); 524 系统查询系统查询-图书借阅查询设计图书借阅查询设计 5241 模块实现功能模块实现功能 图书借阅查询,根据查询条件选择,单击查询按钮,则会出现所有能借阅 的书籍。如图所示。 5242 模块程序流程图模块程序流程图 模块程序流程图如图所示。 开始 结束 存在书籍 显示结果 否 是 5243 模块源代码模块源代码 protected void page_load(object sender, eventargs e) this.title = “图书借阅查询页面“; if (!ispostback) gvbind(); protected void btnquery_click(object sender, eventargs e) gvbind(); protected void gvborrowinfo_pageindexchanging(object sender, gridviewpageeventargs e) gvborrowinfo.pageindex = e.newpageindex; gvbind(); protected void ddlcondition_selectedindexchanged(object sender, eventargs e) if (ddlcondition.selectedvalue = “借阅时间“) label1.visible = label2.visible = label3.visible = txtftime.visible = txtttime.visible = true; txtcondition.visible = false; else label1.visible = label2.visible = label3.visible = txtftime.visible = txtttime.visible = false; txtcondition.visible = true; protected void gvbind() dataset ds = null; int intcondition = ddlcondition.selectedindex; if (intcondition alert(请输入正确的借阅时间) “); else borrowandbackmanage.fromtime = convert.todatetime(txtftime.text); borrowandbackmanage.totime = convert.todatetime(txtttime.text); ds = borrowandbackmanage.findbobabookbybotime(borrowandbackmanage, “view_bookbrinfo“); gvborrowinfo.datasource = ds; gvborrowinfo.databind(); 525 排行榜排行榜-图书借阅排行榜设计图书借阅排行榜设计 5251 模块实现功能模块实现功能 图书借阅排行榜显示图书被借阅的次数多少的排名。如图所示。 5252 模块程序流程图模块程序流程图 模块程序流程图如图所示。 开始 结束 显示结果 5253 模块源代码模块源代码 protected void page_load(object sender, eventargs e) this.title = “图书借阅排行页面“; if (!ispostback) gvbind(); protected void gvbooksort_pageindexchanging(object sender, gridviewpageeventargs e) gvbooksort.pageindex = e.newpageindex; gvbind(); protected void gvbooksort_rowdatabound(object sender, gridviewroweventargs e) if (e.row.rowindex != -1) int id = e.row.rowindex + 1; e.row.cells0.text = id.tostring(); protected void gvbind() dataset bookds = bookmanage.getallbooksort(“tb_bookinfo“); gvbooksort.datasource = bookds; gvbooksort.databind(); 526 排行榜排行榜-读者借阅排行榜设计读者借阅排行榜设计 5261 模块实现功能模块实现功能 读者借阅排行榜显示借书最多的读者的相关信息。如图所示。 5262 模块程序流程图模块程序流程图 模块程序流程图如图所示。 开始 结束 显示结果 5263 模块源代码模块源代码 protected void page_load(object sender, eventargs e) this.title = “读者借阅排行页面“; if (!ispostback) gvbind(); protected void gvreadersort_pageindexchanging(object sender, gridviewpageeventargs e) gvreadersort.pageindex = e.newpageindex; gvbind(); protected void gvreadersort_rowdatabound(object sender, gridviewroweventargs e) if (e.row.rowindex != -1) int id = e.row.rowindex + 1; e.row.cells0.text = id.tostring(); protected void gvbind() dataset readerds = readermanage.getreadersort(“tb_reader“); gvreadersort.datasource = readerds; gvreadersort.databind(); 527 更改口令设计更改口令设计 5271 模块实现功能模块实现功能 更改口令可以修改密码,输入原密码和新密码,在确认一下新密码,点击 保存则更改成功。如图所示。 5272 模块程序流程图模块程序流程图 模块程序流程图如图所示。 开始 结束 原密码正确 修改密码 否 是 新密码一致 是 否 5273 模块源代码模块源代码 protected void page_load(object sender, eventargs e) this.title = “更改口令页面“; if (!ispostback) txtname.text = session“nam

温馨提示

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

评论

0/150

提交评论