图书馆借阅管理系统 ASPNET.docx

上传人:b****4 文档编号:3736549 上传时间:2022-11-25 格式:DOCX 页数:21 大小:1.58MB
下载 相关 举报
图书馆借阅管理系统 ASPNET.docx_第1页
第1页 / 共21页
图书馆借阅管理系统 ASPNET.docx_第2页
第2页 / 共21页
图书馆借阅管理系统 ASPNET.docx_第3页
第3页 / 共21页
图书馆借阅管理系统 ASPNET.docx_第4页
第4页 / 共21页
图书馆借阅管理系统 ASPNET.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

图书馆借阅管理系统 ASPNET.docx

《图书馆借阅管理系统 ASPNET.docx》由会员分享,可在线阅读,更多相关《图书馆借阅管理系统 ASPNET.docx(21页珍藏版)》请在冰豆网上搜索。

图书馆借阅管理系统 ASPNET.docx

图书馆借阅管理系统ASPNET

目  录

1引言1

1.1课程设计选题1

1.2课程设计的目的1

1.3本选题的设计背景1

2系统分析与设计2

2.1系统功能需求分析2

2.2系统功能模块设计3

2.3系统开发运行环境4

3数据库设计5

4模块详细设计与实现7

4.1登录模块7

4.2注册模块8

4.3管理员主页面模块9

4.4系统设置模块10

4.5图书管理模块12

4.6读者借书模块15

4.7读者还书模块16

4.8关于系统模块18

结  论19

参考文献21

1引言

1.1课程设计选题

《图书馆借阅管理系统》

1.2课程设计的目的

通过本课程设计,掌握使用ASP.NET技术进行网络程序设计的基本知识,如:

服务器控件、内部对象、数据库建立、数据库的读取、数据显示等;熟悉网络程序设计每个步骤中的任务和实施方法,并加深对C#语言的理解。

通过设计一个图书馆借阅管理系统,进一步熟悉网络环境下的程序设计方法,综合训练动手能力,提高分析问题、解决实际问题的能力。

1.3本选题的设计背景

随着网络技术的高速发展和计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行。

虽然目前很多大型的图书馆已经有一套比较完善的管理系统,但是在一些中小型图书馆中,大部分工作人需手工完成,工作起来效率比较低,管理员不能及时了解图书馆各类书的借阅情况,读者需要图书难以在短时间内找到,不便于及时的调整图书的结构。

图书馆借阅管理系统是图书馆管理系统关于借阅方面的具体系统,其为了更好的适应当前读者的借阅需求,消除手工借阅管理中的存在的许多弊端,越来越的中小型图书馆正在逐步向计算机信息化管理转变。

 

2系统分析与设计

2.1系统功能需求分析

本系统主要是对图书借阅信息进行管理。

图书馆借阅管理系统是典型的管理信息系统,其开发主要包括后台数据库的建立,维护以及前台应用程序的开发两个方面:

一方面要求建立数据一致和完整性强、数据安全性高的数据库:

另一方面要求应用程序具有功能完美、易使用等特点。

图书馆涉及图书信息、读者信息,图书借阅信息,系统用户信息等多种数据管理。

从管理角度可以将数据管理分为三类:

图书信息管理,读者数据管理和系统用户管理。

图书信息管理包括图书增减、归档、借还、查询等操作;读者数据管理包括个人类别管理和个人信息的录入、修改和删除;系统用户管理包括系统用户类别和数据管理。

系统根据用户权限的不同,分为读者用户、管理员用户。

系统包括如下功能:

(1)读者用户要求实现如下功能:

用户注册:

实现读者信息的注册,信息录入能实现客户端验证提示。

登录:

读者登录到本系统。

修改个人信息:

用户登录后,可以修改个人的信息,如:

密码等。

查询图书信息:

按分类查询,以及按照关键字查询,实现按书名、作者、ISBN、出版社等多种方式的查询。

本系统特别添加了可以准确查询某本书的库存量的功能。

借书:

读者借书时限为一个月,续借一次只能再续借30天。

还书:

用户归还图书,归还后可以查看用户归还图书情况。

可以查看还有哪些书没有归还。

(2)管理员用户要求实现如下功能:

登录:

管理员登录到本系统。

修改个人密码:

管理员登录后,可以修改管理员密码。

添加管理员:

管理员登陆后,可以再添加管理员账号并实现账号检测。

管理用户:

对读者的基本信息进行、修改、删除。

管理图书:

录入图书信息,包括图书名称,作者,单价,出版社,出版日期等。

修改及删除图书信息。

操作成功给出信息提示。

查询图书信息:

提供图书基本信息的查询功能。

按分类查询,以及按照关键字查询,实现按书名、作者、ISBN、出版社等多种方式的查询。

查询外借图书:

提供图书借阅信息的查询功能。

按用户名进行已外借图书信息查询,包括外借时间,应还时间等。

管理借阅信息:

借阅记录信息的管理。

2.2系统功能模块设计

通过对系统进行需求分析得到,系统主要包括十一大功能模块,分别是登录、注册、修改删除读者信息、图书查询、借阅查询、添加管理用户、添加图书、借书、还书、续借等。

功能模块图如图1所示:

 

图1功能模块图

2.3系统开发运行环境

本系统开发平台:

ASP.NET+ACCESS

本系统运行环境:

WindowsXP或以上版本(安装IIS5.0以上版本)

3数据库设计

系统选用ACCESS数据库,开发软件时后台数据库的建立要求数据一致和完整性强、数据安全性高。

根据系统功能需求分析,共建立四个数据表,分别是管理员信息表、读者信息表,图书信息表,图书借阅信息表。

管理员信息表,用于存储管理员的基本信息,主要包括用户名、密码。

其结构如下所示:

表一管理员信息表

序号

字段名

数据类型

主键

允许空

说明

1

adminname

文本

用户名字

2

adminpassword

文本

用户密码

读者信息表,用于存储读者的基本信息,主要包括读者姓名、邮箱地址、性别、联系电话、登录密码、罚款、QQ、借书次数、备注其结构如下所示:

表二读者信息表

序号

字段名

数据类型

主键

允许空

说明

1

W

自动编号

自动编号

2

PName

文本

读者姓名

3

PSex

文本

性别

4

PCode

文本

登录密码

5

PMoney

数字

罚款

6

PMail

文本

电话号码

7

QQ

文本

QQ

8

PPhone

文本

联系电话

9

Borrownum

数字

借书次数

10

PRemark

文本

备注

图书信息表,用于存储图书馆图书的基本信息,其结构如下所示:

表三图书信息表

字段名

数据类型

主键

允许空

说明

BName

文本

书名

BWriter

文本

作者

BPublish

文本

出版社

BDate

日期/时间

入库时间

BPrice

数字

定价

BNum

文本

条型码

BType

文本

图书类型

BStorage

数字

库存量

w

自动编号

自动编号

 

图书借阅信息表,用于存储图书馆图书的外借情况信息,主要包括图书名、读者姓名、图书借出时间、图书归还时间,其结构如下所示:

表四图书借阅信息表

序号

字段名

数据类型

主键

允许空

说明

1

OID

自动编号

自动编号

2

BName

文本

图书名

3

PName

文本

读者姓名

4

ODate

日期/时间

图书借出时间

5

IDate

日期/时间

图书归还时间

 

4模块详细设计与实现

4.1登录模块

登录模块主要实现管理员和读者的登录、注册功能

登陆界面的设计,包括用户类型的选择,用户名字和密码,同时为了方便反复登录,界面设计有一个保存密码功能,这样下次就能直接登陆该软件,界面注册按钮,点击进入注册界面,注册成功再返回登陆界面登陆软件,其登录运行界面图1如下所示:

 

图1用户登陆界面

其中登陆界面的登陆按钮的关键代码如下:

protectedvoidButton1_Click(objectsender,EventArgse)

{

if(TextBox1.Text==""||TextBox2.Text=="")

{Label1.Text="用户名或密码不得为空!

return;}提示用户名和密码不能为空

OleDbConnectionconn=newOleDbConnection();conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="Server.MapPath("App_Data/msg.mdb");conn.Open();//打开数据库

if(RadioButton1.Checked==true)管理员的身份登录{stringstrSecPwd=TextBox2.Text;stringstr="select*fromglywhereadminname='"+TextBox1.Text+"'andadminpassword='"+strSecPwd+"'";OleDbCommandcom=newOleDbCommand(str,conn);OleDbDataReaderdr=com.ExecuteReader();

以上代码是从管理员信息表中获取管理员登录账号密码。

if(!

dr.Read())当表中没有响应账号密码对应则执行如下代码

{Label1.Text="用户名或密码错误!

";}

else

{Session["pass"]=dr["adminname"];Response.Redirect("~/gly/glyweb.aspx");}

dr.Close();登录成功跳转到管理员主页面

}elseif(RadioButton2.Checked==true)以读者身份登录

{stringstrSecPwd=TextBox2.Text;执行代码同上

stringstr="select*fromtb_PersonwherePName='"+TextBox1.Text+"'andPCode='"+strSecPwd+"'";

OleDbCommandcom=newOleDbCommand(str,conn);OleDbDataReaderdr=com.ExecuteReader();if(!

dr.Read()){Label1.Text="用户名或密码错误!

";}

else{Session["pass"]=dr["PName"];Response.Redirect("~/dz/dzweb.aspx");}dr.Close();}

4.2注册模块

注册模块的运行界面如图2所示:

图2用户注册界面

注册模块的关键代码如下:

staticboolbCheck;//定义为逻辑型

voidCheckName()//定义一个注册用户时检测该用户是否存在的方法

{OleDbConnectionconn=newOleDbConnection();conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="+Server.MapPath("App_Data/msg.mdb");conn.Open();

stringstr="select*fromtb_PersonwherePName='"+TextBox1.Text+"'";OleDbCommandcom=newOleDbCommand(str,conn);OleDbDataReaderdr=com.ExecuteReader();查找数据库中是否已有该用户名

if(dr.Read(){bCheck=false;}

else{bCheck=true}dr.Close()conn.Close();}若已有该用户名则逻辑型为否反之为是

protectedvoidLinkButton1_Click(objectsender,EventArgse)

{if(TextBox1.Text=="")//提示用户名不能为空

{Label1.Text="用户名不得为空!

";return;

}CheckName();//调用检测用户的方法

if(bCheck){Label1.Text="用户名未被占用,可以正常注册";}

else{Label1.Text="用户名已被占用,请选择其他名称!

";}}

protectedvoidButton1_Click(objectsender,EventArgse)

{if(TextBox2.Text.Length<6||TextBox2.Text.Length>16)

{Label2.Text="密码长度大于6小于16!

";return;}

if(TextBox2.Text!

=TextBox3.Text)

{Label3.Text="两次输入的密码不相同!

";return;

}if(TextBox4.Text.Length!

=11)

{Label4.Text="电话号码必须是11位!

";

return;}

将注册信息写入数据库

OleDbConnectionconn=newOleDbConnection();conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="+Server.MapPath("App_Data/msg.mdb");stringstrSecPwd=TextBox2.Text;

stringsex=null;if(RadioButton1.Checked==true)sex=RadioButton1.Text;

if(RadioButton2.Checked==true)sex=RadioButton2.Text;stringstrVal="'"+TextBox1.Text+"','"+sex+"','"+strSecPwd+"','"+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"'";stringstrIns="insertintotb_Person(PName,PSex,PCode,PPhone,PMail,QQ)values("+strVal+")";

OleDbCommandinsCom=newOleDbCommand(strIns,conn);

OleDbDataAdapterda=newOleDbDataAdapter();

conn.Open();da.InsertCommand=insCom;da.InsertCommand.ExecuteNonQuery();

Label6.Text="注册成功,请单击【返回】进入登录页面";

 

4.3管理员主页面模块

管理员主页面通过添加的查单条,设置与各个子页面实现链接,起着整个管理员模块导航和骨架作用,子页面包括系统设置、图书管理、修改密码、重新登录等,在主页面还设置了管理员用户姓名显示和系统时间等比较人性化的功能。

运行界面如图3所示:

图3管理员主页

关键代码如下:

leDbConnectionconn=newOleDbConnection();conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="+Server.MapPath("App_Data/msg.mdb");stringstr="selectadminnamefromgly";OleDbCommandselcom=newOleDbCommand(str,conn);OleDbDataAdapterda=newOleDbDataAdapter();da.SelectCommand=selcom;DataSetds=newDataSet();

conn.Close();连接数据库

Label1.Text=Session["pass"].ToString();读出用户名

Label2.Text=System.DateTime.Now.ToString();读出用户时间

}protectedvoidmenuNav_MenuItemClick(objectsender,MenuEventArgse)

菜单条的设置

4.4系统设置模块

系统设置模块包括管理员用户添加、管理员密码修改、读者信息管理等子模块。

其中管理员用户添加子模块类似上述用户注册模块;管理员密码修改子模块实现的关键是要运用CompareValidator控件比较新密码重复输入是否有错;读者信息模块运用GridView控件显示读者用户信息,并利用系统自带编辑、删除功能对读者用户实现管理。

管理员用户添加运行界面如图4所示:

图4管理员用户添加

管理员用户添加子模块关键代码类似上述用户注册模块,此处不再累述。

管理员密码修改运行界面如图5所示:

图5管理员密码修改运行界面

关键代码如下:

stringstrConnection=@"Provider=Microsoft.Jet.OleDb.4.0;DataSource=";

strConnection+=Server.MapPath("..\\App_Data\\msg.mdb");

OleDbConnectionconn=newOleDbConnection(strConnection);conn.Open();//打开数据库连接

OleDbCommandcmd=newOleDbCommand("select*fromglywhereadminname='"+txtName.Text+"'",conn);OleDbDataReaderdr=cmd.ExecuteReader();

if(dr.Read()){if(txtBox1.Text==dr["adminpassword"].ToString()){

OleDbCommandcmd2=newOleDbCommand();cmd2.Connection=conn;

cmd2.CommandText="updateglysetadminpassword='"+txtBox2.Text+"'whereadminname='"+txtName.Text+"'";cmd2.ExecuteNonQuery();conn.Close();conn.Dispose();Response.Write("alert('修改成功!

')");}else{Response.Write("alert('原密码输入不正确!

')");

 

读者信息管理子模块运行界面如图6所示:

 

图6读者信息管理子模块

 

4.5图书管理模块

图书管理模块包括浏览图书和图书借阅信息两个子模块,其中浏览图书子模块包括图书查询、编辑、删除、添加等页面;图书借阅信息子模块可以查询所有借书读者的借书信息。

浏览图书运行界面如图7所示:

图7浏览图书运行界面

浏览图书页面运用GridView控件绑定数据显示所有书籍信息,利用DropDownList控件实现按不同关键字对图书进行查询,在GridView控件下添加HyperLinKField实现图书编辑按钮的设置,利用CheckBook复选按钮实现多条信息同时删除。

关键代码如下:

if(!

IsPostBack)//回发,全选按钮显示全部图书

{OleDbConnectionconn=newOleDbConnection();conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="+"|DataDirectory|\\msg.mdb";conn.Open();stringstrIns="selectBNameas姓名,BWriteras作者,BPublishas出版社,BDateas入库时间,BPriceas定价,BNumas条形码,BTypeas图书类型,BStorageas库存量Fromtb_Book";

采用此方法的原因是数据库里字段名是字母形式而页面显示需要中文显示为宜,但GridView里进行了数据绑定无法更改,故只能采用上述方式获取图书信息。

OleDbDataAdapterda=newOleDbDataAdapter(strIns,conn);DataSetds=newDataSet();//创建虚拟视图对象da.Fill(ds);

执行查询语

protectedvoidButton1_Click(objectsender,EventArgse)if(DropDownList1.SelectedIndex==0)

{stringstrIns="selectBNameas姓名,BWriteras作者,BPublishas出版社,BDateas入库时间,BPriceas定价,BNumas条形码,BTypeas图书类型,BStorageas库存量Fromtb_BookwhereBName='"+TextBox1.Text+"'";OleDbDataAdapterda=newOleDbDataAdapter(strIns,conn);

执行按书名的关键字查询图书,按其他关键字查询图书与此类似故不再累述。

删除语句

protectedvoidButton2_Click(objectsender,EventArgse)

{stringstrConnection=@"Provider=Microsoft.Jet.OleDb.4.0;DataSource=";strConnection+=Server.MapPath(".\\App_Data\\msg.mdb");//创建数据库连接对象OleDbConnectionconn=newOleDbConnection(strConnection);//打开数据库连接conn.Open();

//创建Command对象

OleDbCommandcmd=newOleDbCommand();cmd.Connection=conn;foreach(GridViewRowgrvRowinGridView1.Rows)//搜寻GridView1中所选项

{CheckBoxCheckBox1=(CheckBox)grvRow.FindControl("Chec

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1