1、图书管理系统 设计报告书 作者: 日期:2 个人收集整理 勿做商业用途课程设计报 告 书设计名称: 课程名称: 学生姓名: 专 业: 班 别: 学 号: 指导老师: 日 期: 年 月 日目 录1.系统概述12.系统功能分析1会员区(前台):浏览信息、查询图书详细信息、浏览最新资讯1管理员区(后台管理):添加、导入、批量删除、更新图书信息、会员管理13。系统设计(包括功能设计和结构设计)13。1系统功能设计13。2 系统结构设计23。3 开发、运行环境(包括硬件、软件环境)23.4 详细设计23。4.1模块一:首页模块-登录2首页登录模块:2注册成为新用户模块:43.4。2模块二:“会员”模块5
2、类型查询模块:6详细信息模块:9最新资讯模块:10浏览全部书籍模块:103。4。3 模块三:“管理员”模块10添加书籍信息模块:10书籍信息(图片)更新模块:13批量导入、删除书籍信息模块:15用户管理、信息浏览模块:174.总结1841. 系统概述(1)会员在(前台)会员区可以浏览全部书籍信息、查询图书信息、浏览最新资讯及会员基本信息等基本信息。(2非会员可与在前台申请会员。(3)管理员在管理员区(后台)管理(添加、删除、更新)图书信息、用户分配及删除、浏览会员全部信息。(4)实现更多功能,如留言、论坛等.2。系统功能分析会员区(前台):浏览信息、查询图书详细信息、浏览最新资讯(1)浏览书籍
3、的全部信息 以DataList控件显示书籍的全部信息供会员登录后浏览。(2)查询图书信息分类查询通过GridView控件把类型显示出来,并通过编辑模版加入Button控件绑定类型把类型显示出来,通过数据源的where语句SELECT * FROM book WHERE (ID = ?),用GridView控件显示同种类型的书籍的信息,并同的GridView控件的空模版显示无类型的查询。多字段查询并通过与来实现精确模糊查询 通过关键字:书名、作者、出版日期查询,并通过与实现精确与模糊查询 ,并用GridView控件把书籍信息显示出来。(3)浏览最新资讯 用GridView控件把最新书籍的信息显示
4、出来供会员浏览.(4)浏览会员基本信息 申请加入会员后即可浏览自己的基本信息及其他会员的基本信息,在会员区也可以浏览。管理员区(后台管理):添加、导入、批量删除、更新图书信息、会员管理(1)添加书籍进行新书入库,添加ISBN、书名、价格、作者、出版社、出版日期、开本、详细说明、ID(类型)字段、上传封面,并通过GridView控件浏览新书以上信息。 (2)批量删除及导入书籍信息 利用GridView控件的删除功能批量删除一些书籍信息,利用FileUpload控件浏览表格导入书籍信息,包括ISBN、书名、价格、作者、出版社、出版日期、开本、封面、详细说明、ID(类型)字段,实现批量导入书籍信息。
5、(3)更新图书信息 利用GridView控件选择功能,通过编号选择书籍进行更新操作,更新操作是通过FormView的Edit功能来实现的。(4)查询书籍并修改通过书名、作者、出版社、出版日期的关键字查询到想要修改的书籍,并通过GridView控件的编辑、删除实现对书籍的信息的修改与删除。(5)会员管理用DropDownList显示用户UserName、RoleName,通过Button控件的代码实现用户的角色管理(角色包括会员与管理员)及删除功能,最后通过新建用户自带的数据库aspnet_Membership以GridView控件显示出来,浏览用户的全部信息。3.系统设计(包括功能设计和结构设
6、计)3。1系统功能设计用户在前台可以浏览、查询图书信息、最新资讯等基本信息,也可以申请会员,管理员可在后台管理(添加、删除、更新)图书信息、用户管理,并且实现更多功能,如留言、论坛等。3.2 系统结构设计系统模块如,图表 1:首页会员区管理员区登录浏览全部书籍信息查询最新信息批量删除、导入信息添加书籍并浏览更新书籍信息创建用户会员基本信息用户管理用户分配与删除显示会员信息类型查询多字段查询查询书籍并修改图表 13。3 开发、运行环境(包括硬件、软件环境)运行平台:Win7系统 Intel Core i52410M,2。3GHz系统开发环境:Microsoft Visual Studio 200
7、5数据库:ACCESS数据库、Sql数据库3。4 详细设计3.4。1模块一:首页模块-登录首页-登录模块:登录模块分为两个权限,会员、管理员可通过用户名和密码进行登录,登录系统后可以进行相关权利操作。(1)数据表 ASPNETDB.MDF(2)设计步骤 添加新项(Web窗体),命名为index.aspx,“HyperLink”控件,改Text为登录,在属性 “导航”中的“NavigateUrl选择login。aspx. 添加新项(Web窗体),命名为login.aspx。在YY文件下新建两个文件夹(分别命名为“nn”,“gg”),在两个文件夹中在分别添加新项member。aspx、manage
8、。aspx。在菜单栏中的“网站打开“ASP。NET配置(T)/安全/使用安全设置向导按部就班地配置安全性/下一步/通过 Internet/下一步/添加角色(新的角色分别为会员、管理员) /完成 。 创建用户,分配角色:创建一个会员:名为李宁,密码为“*1234567”, 创建一个管理员:名为yy,密码为“*1234567”. 创建访问规则: “管理员”文件夹允许管理员,拒绝会员、匿名;“会员”文件夹允许管理员、会员,拒绝VIP、匿名; 分别在member.aspx、manage.aspx页面添加LoginName控件、LoginStatus控件,并作相关设计。在登录页面login.aspx作如
9、下设计:添加Login,转为模板,在模板中插入一行并添加控件“RadioButtonList”,并对其“编辑项”,添加会员、管理员,双击“登录输入代码,设置权限。(3)关键代码 protected void LoginButton_Click1(object sender, EventArgs e) RadioButtonList RR = (RadioButtonList)Login1.FindControl(”R1”); if (RR.Items0。Selected) Login1.DestinationPageUrl = nnmember。aspx”; else Login1。Desti
10、nationPageUrl = ggmanage。aspx; (4)运行结果注册成为新用户模块:实现添加普通会员功能,成功创建后可浏览基本信息(用户名、邮件、注册日期)(1)数据表aspnet_Members(2)设计步骤在登录下插入一行,添加“HyperLink”控件,改Text为申请会员,在属性 “导航”中的“NavigateUrl”选择memberadd。aspx。添加新项(Web窗体),命名为memberadd.aspx,添加CreateUserWizard控件,编辑模版,编辑完成:右键“完成”属性,在属性PostBackUrl选择membershipuser.aspx。添加新项(We
11、b窗体),命名为membershipuser。aspx,添加“SqlDataSource1” 配置数据源“aspnet_Members”,添加“GridView”控件,选择数据源“SqlDataSource1”, 编辑列,调整字段显示位置,把Email转化为模板,编辑模版,把Label删掉,添加“HyperLink”控件,编辑DataBindings把 Text字段绑定“Email,NavigateUrl字段绑定“Email”,格式为mailto:0 。(3)关键代码 (4)运行结果3。4。2模块二:“会员模块类型查询模块:提供给会员查询不同类型书籍信息的一对多功能,点击书名即可得其详细信息.
12、(1)数据表books。mdb(book、type)(2)设计步骤插入表格,在表格中添加“AccessDataSource1”配置数据源“type”,点击“高级”(生成INSERT。 UPDATE和DELETE语句);添加“GridView”,控件,选择数据源AccessDataSource1,编辑列,删除“ID”字段,把“类型”转化为模板,编辑模版,在模板中删除Label控件,添加“Button控件绑定到“类型”字段并在其属性中的“CommandName”输入“ select” 。在表格中添加“AccessDataSource2配置数据源“book”,点击“Where” 列选 “b_id”,
13、运算符选“=,源选“Control”,控件选“GridView1”,添加“GridView1”控件,编辑模版,删除掉其他所有字段,添加“Label控件绑定到书名,添加“HyperLink控件,绑定:“Text字段绑定“书名”、“NavigateUrl”字段绑定“编号”,格式为“message.aspx?编号=0 ”,编辑空模版,输入“抱歉,找不到您需要的书籍”,结束编辑.(3)关键代码运行结果高级查询模块: 提供给会员按书名检索中文或英文图书多字段查询书籍信息的功能,包括书名、作者、出版社字段,通过“与”实现精确或者模糊地使用其中的一个或多个条件进行高级查询,并可查询详细信息。(1) 数据表b
14、ooks。mdb(book、type)(2)设计步骤添加新Web窗体,命名为“inquiry。aspx”,在页面输入“关键字,并在其后面添加控件“TextBox1” 、“CheckBoxList”(命名为C1,并对其“编辑项”,添加书名,作者,出版社)、“RadioButtonList1”(命名为R1,并对其“编辑项”,添加与、或)、“RadioButtonList2(命名为R2,并对其“编辑项”,添加模糊、精确)、“ Button1”(改Text为查询)“ Button2”(改 Text为返回)。添加“AccessDataSource1” 配置数据源“information”,点击“高级”(
15、生成INSERT。 UPDATE和DELETE语句),完成。添加“GridView”控件,选择数据源“AccessDataSource1”,编辑列,保留编号、书名、ISBN、出版社、主编、数量字段,删掉其他字段,把书名转化为模板,编辑模版,书名列删掉label添加添加“HyperLink控件,编辑DataBindings把 Text字段绑定“书名”,NavigateUrl字段绑定“书名”,格式为message。aspx?编号=0。分别双击Button1、Button2输入代码。文档为个人收集整理,来源于网络个人收集整理,勿做商业用途(3)关键代码protected void Button1_C
16、lick(object sender, EventArgs e) if (TextBox1。Text.Trim().Length 0) string str = ”; for (int i = 0; i 0) str = str。Substring(0, str.Trim().Length 3); AccessDataSource1.SelectCommand = SELECT FROM book where ” + str; GridView1.DataBind(); Response.Write(str); protected void Button2_Click(object sende
17、r, EventArgs e) AccessDataSource1。SelectCommand = SELECT * FROM book ; GridView1。DataBind(); (4)运行结果详细信息模块:(1)数据表 books。mdb(book、type)(2)设计步骤 添加新项,命名为“info.aspx”,添加“AccessDataSource1”配置数据源“book”,配“Where” 语句:选 “编号”,运算符选“=”,源选“QueryString”, “QueryString控件”输入“书籍编号,添加“GridView, 编辑列,删除所有字段,添加空模版,编辑模版,添加7
18、行7列的表格,添加相应的控件,设计模块如 图表 2所示:封面Images :“编辑DataBindings”中的“ImageUrl字段绑定“封面”,格式为“images/0”书名Label11:“编辑DataBindings”中的“Text”字段绑定“书名”作者Label12:“编辑DataBindings中的“Text”字段绑定“作者”类型Label13:在“编辑DataBindings中的“Text”字段绑定“ID”添加“FormView1”: 选择新建据源:配置数据源“type”,点击“Where” 列选 “ID”,运算符选“=”,源选Control,控件Label13,得AccessD
19、ataSource1,编辑模板,只留下“类型Label”,把“Label13属性中的Visible为FalseISBNLabel14:“编辑DataBindings中的“Text字段绑定“ISBN”价格Label15:“编辑DataBindings”中的“Text”字段绑定“价格,格式为“货币 - 0:C出版社Label16: “编辑DataBindings”中的“Text”字段绑定“出版社”出版日期Label17: “编辑DataBindings”中的“Text”字段绑定“出版日期,格式为“短时间 - 0:t”开本Label18: “编辑DataBindings”中的“Text”字段绑定“开
20、本”详细说明Label19:“编辑DataBindings”中的“Text”字段绑定“详细介绍 图表 2 最新资讯模块:提供给VIP用户浏览书籍最新资讯,了解最新书籍动态。(1)数据表books。mdb(book、type)(2)设计步骤 添加新项,命名为“news.aspx”,添加“AccessDataSource1配置数据源“information,oderby:编号,降序。添加“GridView”控件,启用分页,把标头隐藏,编辑列,删掉编号、出版时间、开本、详细介绍,分别把字段 “价格”、“封面、“ID”转换成模板,编辑模版,价格列“编辑DataBindings”中的“Text”字段绑定
21、“价格”,格式为“货币 - 0:C”;ID列添加“FormView1”: 选择新建据源:配置数据源“leixing”,点击“Where” 列选 “b_id,运算符选“=”,源选“Control”,控件“Label3,得AccessDataSource1,编辑模板,只留下“类型Label”,把“Label3”属性中的Visible为False删掉label;封面列删掉label添加“Image1”控件,“ImageUrl字段绑定“封面”,格式为“images/0”,结束编辑。(3)关键代码(4)运行结果浏览全部书籍模块:提供给会员浏览更多书籍,了解书城更多书籍。(1)数据表books.mdb(b
22、ook、type)(2)设计步骤 添加新项,命名为“information。aspx,添加“AccessDataSource1”配置数据源“book,oderby:出版时间,降序。添加“DataList”控件,设置标题连的方向为水平,编辑模版,价格列“编辑DataBindings中的“Text”字段绑定“价格”,格式为“货币 - 0:C;ID列添加“FormView1”: 选择新建据源:配置数据源“leixing”,点击“Where” 列选 “b_id”,运算符选“=”,源选“Control,控件“Label3”,得AccessDataSource1,编辑模板,只留下“类型Label,把“La
23、bel3”属性中的Visible为False删掉label;封面列删掉label添加“Image1”控件,“ImageUrl”字段绑定“封面”,格式为“images/0”,结束编辑。(3)关键代码(4)运行结果3。4。3 模块三:“管理员”模块管理员实现对图书的维护,包括图书的查询、修改和删除;实现对用户的管理,包括分配与删除角色。添加书籍信息模块:管理员可以添加书籍,包括上传封面图片。(1)数据表books。mdb(book、type)(2)设计步骤添加10行2列的表格,分别添加表格中的控件ISBNTextBox1 书名TextBox2价格TextBox3作者TextBox4出版社TextB
24、ox5出版日期TextBox6开本TextBox7封面FileUpload,ID改为“F1”详细介绍TextBox8类型DropDownList1:添加AccessDataSource1配置数据源“type”,为DropDownList1选择AccessDataSource1,显示的数据字段为“类型”,选择数据字段“ID添加“Button1”控件(命名为:添加书籍),添加“AccessDataSource2配置数据源“book,oderby:编号,降序,右键“AccessDataSource2”属性中INSERT查询,添加插入命令: ISBN TextBox1、书名TextBox2、价格Tex
25、tBox3、作者TextBox4、出版社TextBox5、出版日期TextBox6、开本TextBox7、封面Session(“封面”)、详细介绍TextBox8、类型DropDownList1。添加“GridView”控件,启用分页,编辑列,删除所有字段,添加一个空模版,编辑模版,添加7行5列的表格,分别添加表格中的控件封面Images :“编辑DataBindings中的“ImageUrl”字段绑定“封面,格式为“images/0”书名Label11:“编辑DataBindings”中的“Text字段绑定“书名”作者Label12:“编辑DataBindings”中的“Text”字段绑定“
26、作者”类型Label13:在“编辑DataBindings”中的“Text字段绑定“ID添加“FormView1”: 选择新建据源:配置数据源“type”,点击“Where” 列选 “ID”,运算符选“=”,源选Control,控件Label13,得AccessDataSource1,编辑模板,只留下“类型Label”,把“Label13属性中的Visible为FalseISBNLabel14:“编辑DataBindings”中的“Text”字段绑定“ISBN”价格Label15:“编辑DataBindings”中的“Text”字段绑定“价格”,格式为“货币 0:C”出版社Label16: “
27、编辑DataBindings”中的“Text”字段绑定“出版社出版日期Label17: “编辑DataBindings”中的“Text”字段绑定“出版日期,格式为“短时间 0:t”开本Label18: “编辑DataBindings”中的“Text字段绑定“开本详细说明Label19:“编辑DataBindings”中的“Text”字段绑定“详细介绍双击Button1输入代码:引入命名空间using System。IO;(3)关键代码protected void Button1_Click(object sender, EventArgs e) try if (F1。HasFile) F1.S
28、aveAs(Server.MapPath(”images”) + F1.FileName);/上传文件到应用程序的images文件夹下 Session封面 = F1。FileName; else Session封面” = ”; AccessDataSource2.Insert(); Label1.Text = ”添加成功; GridView1。DataBind(); catch (Exception ex) Label1。Text = 添加错误:” + ex.Message。ToString(); (4)运行结果简单查询及修改信息模块: 管理员实现简单查询书籍,查到书籍可以修改书籍信息。(1)
29、数据表books。mdb(book、type)(2)设计步骤添加新Web窗体,命名为“mamage.aspx”,输入“关键字”,并在其后面添加TextBox 、DropDownList1(并对其“编辑项,添加“书名”、“作者”、“出版社、“出版时间”)、Button1(命名为查询)、 Button2( 命名为返回)。添加“AccessDataSource1” 配置数据源“book”,选择“高级”(生成INSERT。 UPDATE和DELETE语句),完成.添加“GridView”控件,选择数据源“AccessDataSource1,启用删除,启用编辑,编辑列,删掉出版时间,把封面、ID转化为模
30、板,编辑模版,封面列删掉label,添加image控件,绑定“ImageUrl”字段 到“封面”,格式为“images/0”;ID列绑定Text字段到“ID”添加“FormView1”: 选择新建据源:配置数据源“type”,点击“Where” 列选 “ID,运算符选“=”,源选Control,控件Label13,得AccessDataSource1,编辑模板,只留下“类型Label,把“Label13”属性中的Visible为False。 (3)关键代码 protected void Button1_Click(object sender, EventArgs e) if (TextBox1
31、。Text。Trim().Length 0) AccessDataSource1.SelectCommand = SELECT FROM book WHERE ” + DropDownList1。SelectedValue.ToString() + ” LIKE + TextBox1。Text。Trim() + ”%; GridView1.DataBind(); protected void Button2_Click(object sender, EventArgs e) AccessDataSource1.SelectCommand = ”SELECT * FROM book ; Grid
32、View1.DataBind(); (4)运行结果书籍信息(图片)更新模块:管理员实现对书籍信息进行更新的功能,包括书籍图片的更新。(1)数据表books。mdb(book、type)(2)设计步骤添加新Web窗体,命名为“update.aspx”,添加“AccessDataSource1”配置数据源“book”, 点击“高级(生成INSERT. UPDATE和DELETE语句)。添加“GridView控件,选择数据源“AccessDataSource1”,启用选择,启用分页。编辑列,删除ISBN、作者、出版社、出版时间字段 ,分别把字段“价格、 “封面”转换成模板,价格列“编辑DataBin
33、dings”中的“Text”字段绑定“价格”,格式为“货币 - 0:C;封面列删掉label添加“Image1控件,“ImageUrl”字段绑定“封面”,格式为“images/0,结束编辑。右键GridView属性,双击事件SelectedIndexChanged中输入代码。添加“AccessDataSource2配置数据源“book, 点击“高级”(生成INSERT. UPDATE和DELETE语句);点击“Where” 列选 “编号”,运算符选“=”,源选“Control”,控件选“GridView1;在其属性中点击“UpdateQuery”,在参数“封面的“参数源”选“Session”,
34、在“SessionField输入“封面”。添加“FormView”控件,选择数据源“AccessDataSource2”,在“FormView2控件属性行为中的“DefaultMode”选择“Edit”,并对其进行编辑模板,在“EditItemTemplate”进行编辑,去掉“b_idLabel4”和“封面Label10,在“ID”处添加“AccessDataSource3”配置数据源“type”, 点击“高级”(生成INSERT。 UPDATE和DELETE语句);点击“Where 列选 “编号”,运算符选“=”,源选“Control”,控“GridView1”;添加“DropDownLis
35、t1” 配置数据源“AccessDataSource3”,显示的数据字段为“类型,选择数据字段“ID”;在“封面”处添加label(ID改为“Lf”,编辑DataBindings”中的“Text”字段绑定“封面”)、“CheckBox”(ID改为“C1”)“、FileUpload”控件(ID改为“F1),右键FormView属性,双击事件ItemUpdated中输入代码,双击事件ItemUpdating中输入代码,添加命名空间using System.IO;。添加“HyperLink控件属性“导航”中的“NavigateUrl选择“gg/manage。aspx ”。个人收集整理,勿做商业用途本
36、文为互联网收集,请勿用作商业用途(3)关键代码protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) GridView1.Visible = false; FormView2。Visible = true; protected void FormView2_ItemUpdated(object sender, FormViewUpdatedEventArgs e) GridView1.Visible = true; FormView2.Visible = false; GridView1。DataBin
37、d(); protected void FormView2_ItemUpdating(object sender, FormViewUpdateEventArgs e) CheckBox cc = (CheckBox)FormView2。FindControl(”C1”); if (cc.Checked) /判断是否有图片 Label LL = (Label)FormView2。FindControl(”Lf”); if (LL.Text。Length 0) /如果有图片,则删除图片文件 File.Delete(Server。MapPath(”images”) + LL。Text); Sess
38、ion封面 = ; else FileUpload ff = (FileUpload)FormView2.FindControl(”F1”); if (ff.HasFile) if (Path。GetExtension(ff.FileName) = .jpg”) try ff。SaveAs(Server。MapPath(”images) + ff.FileName);/上传文件 /string newname = DateTime。Now。ToString()。Replace(”:, ”-”) + Path.GetExtension(ff.FileName); string newname =
39、 DateTime.Now。Year.ToString() + ”-” + DateTime。Now.Month.ToString() + - + DateTime.Now。Day。ToString() + + DateTime。Now.Hour.ToString() + ” + DateTime。Now。Minute。ToString() + + DateTime。Now。Second。ToString() + Path。GetExtension(ff.FileName); File.Move(Server。MapPath(”images”) + ff。FileName, Server.MapPath(images”) + newname); Session”封面 = newname;