基于ASPNET的图书管理系统设计与实现Word格式文档下载.docx
- 文档编号:16329354
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:21
- 大小:781.24KB
基于ASPNET的图书管理系统设计与实现Word格式文档下载.docx
《基于ASPNET的图书管理系统设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于ASPNET的图书管理系统设计与实现Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
2.1需求分析
在计算机未普及以前,人们还不能像现在一样可以通过高速的信息传播来实现资源共享,而图书馆已经以公共资源共享的载体存在了好长时间。
社会的发展,生活的节奏都在加快步伐,图书馆的传统借阅模式也显得力不从心。
图书馆长期以来所使用的传统的借阅模式是每个人需要先办一个小册子即借阅证,在此之前我们需要先向图书管的管理人员提交申请,对自己的基本信息进行登记,待图书管理人员将每个申请的信息登记审核后,申请者方可拿到借阅证,只有拿到借阅证后,我们才有资格借书。
借书时,那些新的图书将会在图书门口列出,而其他书籍我们则需要向图书管理人员咨询(或在一本本厚厚的提前分好类登记好的查阅书籍信息的册子上找),然后写在纸条上连同借书证一起递给管理员,而管理员还要在另一个册子上登记读者的借阅信息,还要在图书上贴上借阅信息,还书时,管理员则又需在大堆的登记册上查很早读者借阅时的信息。
这个繁琐的过程给读者和管理员之间都有一定程度的不便。
此次所设计的图书管理系统将读者和管理员两个角色抽象出来,用数据库来存储大量的图书、借阅读者等信息,自动化归档,整理,将人员从繁琐的劳动中解放出来。
读者可以再web平台读者页面中,实现以下功能:
用户功能如下:
1)注册:
第一次来访的扶着根据页面提示,打开注册页面,在注册页面中对列出的信息进行填写,系统会自动对信息进行审核,注册有误,则提醒用户重新注册;
注册成功则自动登录,跳至普通用户登录所在页面即查询书记页面。
2)登录:
根据已注册信息,系统自动判断用户是否存在,若存在则成功跳至用户查询书籍页面,登录失败,则提醒用户错误信息并自动退出登录页面。
3)查询并修改注册信息:
注册用户登录后,有权限自行修改密码及注册信息(用户名不可改)。
4)查询书籍:
用户可以再搜索框中,根据书名或作者搜索书籍。
5)借阅书籍:
用户在搜索到书籍后,在其允许(剩余本数大于0)时,申请借阅。
6)我要留言:
用户在留言界面,对图书馆提出适当的意见和建议并且可以查看自己的留言以及回复信息。
7)注销:
用户可以登录后,点击注销按钮直接退出登录状态。
管理员功能如下:
1)管理用户信息:
对用户信息进行查看、修改和删除。
2)管理借阅信息:
对已借阅书籍信息进行查看(用来督促还书)。
3)管理留言:
删除和回复留言。
4)管理图书:
添加和删除图书信息。
2.2数据库设计
2.2.1数据表设计
依据需求分析中的功能需求,对数据库进行了逻辑设计。
以高效、低冗余的数据结构为设计原则,主要有以下4张表。
bookInfo表:
图书信息表,用于保存有关图书的基本信息。
包含的主要字段有:
图书序列号、名称、出版社、作者、总数量、剩余图书数量。
表2-1bookInfo表
字段名称
数据类型
默认值
是否为空
是否主键
描述
bookISBN
nvarchar(20)
Null
否
是
图书序列号
bookName
名称
bookPublisher
出版社
bookAuthor
作者
bookTotal
int
总数量
bookRest
余图书数量
bookLend表:
借阅信息表,用来报存借阅图书的有关信息。
用户名称、图书序列号、时间。
表2-2bookLend表
userName
nvarchar(10)
用户名称
lendTime
nvarchar(50)
时间
tabMessage表:
留言信息表,用来报存留言面板的相关信息。
用户名称、邮件、QQ、留言信息、留言时间、回复信息。
2.2.2数据库连接
采用ADO.NET来访问数据库。
3系统实现
3.1首页设计
在图书管理系统中,首页的主要是用户和管理员登录的界面,界面整体简洁友好。
图3-1用户和管理员登录的界面
我们可以从图中了解到,系统首页的主要功能是用户登录,管理员登录以及未注册用户注册。
其中为用户和管理员登录区域的界面实现代码为:
<
divclass="
content2"
>
<
contant20"
contant201"
Username:
&
nbsp;
asp:
TextBoxID="
txtUserName"
runat="
server"
Height="
25px"
Width="
180px"
/asp:
TextBox>
&
RequiredFieldValidator>
/div>
Password:
txtPassword"
TextMode="
Password"
验证码:
txtValidCode"
TableCell>
RequiredFieldValidatorID="
rfvValidCode"
ControlToValidate="
ErrorMessage="
验证码不能为空"
ImageID="
imgValidCode"
AlternateText="
验证码"
ImageUrl="
~/ValidCode.aspx"
36px"
150px"
style="
margin-bottom:
0px"
/>
inputid="
btnRefresh"
type="
button"
value="
看不清?
点击刷新"
onclick="
reloadcode()"
用成对的div标签将内容划分块,class属性来定义每一部分的样式。
用户名的输入框后,又添加了一个验证控件:
RequiredFieldValidator,并将其ErrorMessage的值设为"
用户名不能为空!
”,则当用户没有输入用户名就点击登录按钮时,系统就会自动验证用户名输入框后的内容,并显示“用户名不能为空”的错误提示信息。
同样,在密码输入区和验证码输入区也采用了相同的方式来验证当密码为空时,错误提示。
在验证码的地方还加入了,看不清时点击刷新的功能,html中的超链接标签a将点击文字时的连接地址设为:
functionreloadcode(){
varimgNode=document.getElementById("
);
imgNode.src="
ValidCode.aspx?
t="
+(newDate()).valueOf();
}
用来实现刷新验证码的功能。
当用户和管理员在登录界面输入登录信息后,分别点击右侧的两个按钮:
管理员登录和用户登录,就可以跳转到相应的页面。
当用户登录时,系统会将用户输入的信息和数据库中的信息进行比对来判断是否登录成功。
在相应的.cs文件中用来判断用户登录的代码如下:
if(txtValidCode.Text.ToUpper()==Session["
Code"
].ToString().ToUpper())
{
DataAccessda=newDataAccess();
boolbRegist=da.IsUserRegist(txtUserName.Text);
if(bRegist)
boolbManager=da.IsManager(txtUserName.Text);
if(bManager)
{boolbCorrect=da.IsCorrect(txtUserName.Text,txtPassword.Text);
if(bCorrect)
{Session["
userName"
]=txtUserName.Text;
Response.Write("
script>
alert('
"
+Session["
]+"
登录成功!
'
location='
manage.aspx'
;
/script>
}
else
{Response.Write("
登录失败,用户名或密码错误'
)<
{
该用户不是管理员!
}}
该用户名不存在'
}}
验证码错误!
请再次输入'
用if和else的嵌套语句来实现用户信息的判断。
当出现错误时,会在界面上提供给用户相应的错误提示信息。
当验证码错误时,页面内容不会重置,用户只需刷新验证码,填入正确的新的验证码即可登录。
在首页中无需登录就可以跳转的界面还有一个,就是新用户注册界面,此界面用来登记新用户需要填写的信息,主要包括用户名、密码、电子邮箱。
用户可以点击注册来注册用户,点击重置来重新填写信息。
在注册界面的右边有一个可以用来检查用户名是否有效的按钮,当注册用户可以通过此按钮来检验当前用户名是否有效。
这里同样使用了一个验证控件:
RequiredFieldValidator。
在注册界面中的密码填写和电子邮箱填写区域也使用了相同方法,来限制注册用户必须填写的内容,以方便对用户的管理。
3.2用户界面设计
系统中的两个角色分别为管理员和用户。
他们都可以通过首页的入口来登录自己的空间,进行功能的实现。
这部分讲述用户的功能实现。
用户在系统中能够实现的功能为:
图书查询,图书借阅,留言,查看借阅信息,注销登录。
3.2.1首页
当用户通过首页进行登录后,页面会跳转到用户界面的首页如图:
图3-2用户界面的首页
界面中会列出所有的书籍,在这里实现图书列表时用到了GridView控件,它是ASP.NET2.0中所提供的用于列表显示功能最完善的数据绑定控件,运用GridView控件可以方便的实现分页和排序功能,也可以实现对数据列表的添加、浏览、更新和删除。
使用GridView控件时,会自动显示绑定好的数据表的列名,但是只是英文显示,我们只需要在选定字段中将每一个列名的属性中的“HeaderText”改为中文描述,这样我们就可以得到一个中文显示的数据表的所有信息。
在所有书籍信息显示的表格上方我们可以通过搜索来查询自己所需要的书籍的信息,有两种方式可供选择分别是输入书名和作者。
这里书名不用写全,可以是书名中的相关字即可。
在代码设计时,主要应该实现的是查询功能,代码:
protectedvoidbtnQuery_Click(objectsender,EventArgse)
{
stringstrSql="
selectbookISBNas图书ISBN,bookNameas书名,bookAuthoras作者,bookPublisheras出版社,bookTotalas图书总量,bookRestas图书剩余量frombookInfowherebookNamelike'
%"
+txtBookName.Text+"
%'
andbookAuthorlike'
+txtBookAuthor.Text+"
bookListBind(strSql);
运用SQL中的查询语句:
selsct列名1,列名2……from表名来输出特定的列的内容,加之selsct列名1as输出列名,通过关键字as来将列名输出时改变为输出列名。
通过“bookNamelike'
”语句来在数据库中判断并找到与查询内容相似的结果来输出。
在查询书籍的显示列表中或所有书籍的显示列表中,用户可以点击借阅按钮实现借阅功能,相应的借阅信息会连接数据库后添加到用户的借阅信息界面显示出来,同时数据库中相应的图书数量会随之减一,并重新添置数据库中。
3.2.2用户功能留言界面:
图3-3用户功能留言界面
用户可以留言和用来查看留言列表。
留言界面:
代码第一段“<
%@PageTitle="
留言"
Language="
C#"
MasterPageFile="
~/Common.master"
AutoEventWireup="
true"
CodeFile="
Message.aspx.cs"
Inherits="
Default2"
%>
”,我们可以看到是使用一对<
%%>
起来的内容,用来说明此代码是需要在服务器端运行的,主要用来配置Page指令的属性,其中Title指明页面的标题是留言。
Language表示所使用的代码为C#,MasterPageFile="
表明本页面使用了根目录的Common.master母板页,AutoEventWireup="
属性是一个布尔值这里设置为Ture,表示页面的事件启动了自动绑定功能,CodeFile="
表示页面的代码文件存放在Message.aspx.cs文件中,Inherits="
提供供页继承的代码隐藏类为Default2。
留言板留言内容的实现代码:
TableID="
Table1"
Caption="
留言板"
HorizontalAlign="
Center"
BackColor="
#999999"
CaptionAlign="
Top"
337px"
324px"
TableRow>
留言<
br/>
(200字之内):
TableCell>
txtMessage"
MultiLine"
100px"
MaxLength="
200"
200px"
TableCellColumnSpan="
2"
rfvMessage"
留言内容不能为空!
用Table控件分别设置其杂项为rows实现行的集合,用cell来实现单元格内容的填充,留言区域用到了TextBox控件的TextMode="
属性并将其值赋为MultiLine来实现多行文本的转换。
为防止用户没有填写留言内容误点了提交按钮,在留言区TextBox控件后又添加了RequiredFieldValidator控件,将其属性ErrorMessage的值设置为“留言内容不能为空!
”这样,当用户没有填写留言内容时系统会显示错误提示内容。
在用户留言后,下方还会要求用户填写自己的邮箱信息,首先邮箱为必填项所以不能为空,所以同样会用到验证控件:
其次,众所周知,正确的邮箱有它自己标准的格式,所以在这里我们需要来验证用户填写的邮箱信息是否正确,实现功能的代码如下:
<
rfvMail"
txtMail"
邮箱不能为空!
RegularExpressionValidatorID="
revMail"
这里用到的验证控件为:
RegularExpressionValidator。
它的功能是用来验证正则表达式和检查项的匹配状态,这类验证主要是用来检查可预知的字符序列。
此处需要验证的是用户所填写的邮件地址是否正确,所以将其表达是的值设为ValidationExpression="
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
的格式。
用户填写完所有信息后就可以进行留言,<
ButtonID="
btnSubmit"
Text="
我要留言"
OnClick="
btnSubmit_Click"
/>
点击我要留言按钮后就会执行OnClick="
的功能,提示用户留言成功。
btnSearch"
查看留言列表"
btnSearch_Click"
CausesValidation="
False"
点击查看留言按钮系统就会自动跳转到留言列表界面。
图3-4留言列表界面
页面中留言列表显示的代码:
留言列表"
Message1.aspx.cs"
ContentID="
Content1"
ContentPlaceHolderID="
main"
Runat="
Server"
GridViewID="
gvLeaveMessage"
OnRowDataBound="
gvLeaveMessage_RowDataBound"
GridView>
Content>
同样在Page指令中用MasterPageFile="
来套用了根目录下的Common.master母板页,用GridView控件实现了留言信息列表显示。
显示留言内容的事件要执行的SQL语句为da.DataSearch("
selectuserNameas用户名,userMessageas留言内容,userMailas联系邮箱,QQasQQ号,leaveMsgTimeas留言时间,MsgReplyas留言回复from
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ASPNET 图书 管理 系统 设计 实现