ASP图书管理系统.docx
《ASP图书管理系统.docx》由会员分享,可在线阅读,更多相关《ASP图书管理系统.docx(29页珍藏版)》请在冰豆网上搜索。
ASP图书管理系统
学校
课程名称:
图书信息的管理
姓名
专业计算机科学与技术
班级
学号
指导老师
评定成绩
日期:
2013年6月24日
目录
1.绪论1
一、图书管理系统的产生1
二、研发图书管理系统的目的1
三、图书管理系统的意义1
四、图书管理系统可行性分析1
1.技术可行性1
2.经济可行性2
3.操作可行性2
2.项目总体设计3
一、需求分析3
二、系统流程图3
三、概念结构设计4
四、逻辑结构设计5
1.将实体转化为关系模型5
2.将联系转化为关系模型5
五、物理结构设计5
六、查询表6
1.用户查询表6
2.图书查询表7
3.技术简介9
一、数据库方面9
1.MicrosoftAccess2003介绍9
2.Access的功能9
二、ASP.NET(C#)9
三、开发环境10
4.软件开发过程11
一、登陆11
1.Login设计11
2.简单设计12
3.数据库绑定13
二、注册13
1.数据源14
2.label设置15
3.用户注册15
三、图书管理17
1.GridView17
2.DetialView18
4.Dropdownlist设置19
四、修改密码21
1.数据源配置21
2.更改密码代码实现22
5总结25
1.绪论
一、图书管理系统的产生
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工方式管理会导致图书管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理。
这种管理方式存在着许多缺点,例如,效率低、易忘记、保密性差、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
而图书管理系统在很大程度上正好解决了以上的问题,所以图书管理系统能够为管理者或读者提供充足的信息和快捷的数据处理手段。
二、研发图书管理系统的目的
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点。
例如,检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等。
因此,必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。
三、图书管理系统的意义
1.有利于提高图书管理工作效率2.有利于提升网络信息资源的利用效率3.有利于提高图书管理人员的综合素质4.有利于合理开发与配置信息资源5有利于实现管理服务多元化、综合化。
四、图书管理系统可行性分析
1.技术可行性
近几年来计算机技术发展异常迅猛,高速度大容量的电脑已成为许多学校里日常工作必不可少的设备,随着办公自动化的软件不断涌现,微机的普及为该系统的开发奠定了坚实的基础。
2.经济可行性
一方面,系统的开发不需要额外增加设备购置费、软件开发费、管理和维护费用。
另一方面,系统的开发可以较好地解决图书馆因日常事务繁杂而造成的处理效率低,出错率偏高的局面,并可以及时了解各项日常事务的进展情况,为及时调整库存资料提供可靠的数据支持,从而明确工作目标,同时还可以减少人工劳动、提高工作效率、增加书本流通量。
3.操作可行性
计算机以强大的信息处理能力作为人类脑力劳动的有利助手登上历史舞台后,已渗透到社会生活的各个领域,使现代社会组织、特别是企业,学校的信息处理能力适应现代化管理的要求,且系统逐步从单项事务信息处理系统迅速向综合服务(决策支持系统)的管理信息系统发展。
本系统使用界面良好,易于操作。
图书馆拥有一批较高素质的员工,只需了解相关知识,就可熟练操作本系统了。
2.项目总体设计
一、需求分析
高等院校的图书管理涉及图书信息、系统用户信息、读者信息、图书借阅信息等多种数据管理。
从管理的角度出发可将图书管理分为3类:
图书信息管理、系统用户管理和读者数据管理。
图书信息管理包括图书征订、编目、典藏、借还和查询操作,系统用户管理包括系统用户类别和用户数据管理,读者数据管理包括读者类别管理和读者个人数据的录入、修改、删除。
本图书管理系统主要应具有以下功能:
★图书编目:
包括图书编目信息的录入、修改等功能。
★读者数据管理:
用户登陆管理、读者个人数据的录入、修改、删除等功能。
★查询图书功能
★注册异常处理
二、系统流程图
三、概念结构设计
由于一个用户可以管理多本书所以用户和书本的关系是1对多的关系。
每个用户有他自己的(编码、用户名、密码、性别、备注等),图书有(图书编号、图书名、作者、出版社、简介等)。
1.用户E-R图
2.图书E-R图
3.用户、图书E-R图
逻辑结构设计阶段按照E-R图转换为关系模式的规则将E-R图中的实体、实体属性和实体之间的联系转化为关系模式的对应组成部分。
四、逻辑结构设计
1.将实体转化为关系模型
根据图1-24所示的基本E-R图,将其中的实体转化为如下关系,关系的码用下横线标出。
●将用户实体转换为用户关系:
(用户编号、用户名、性别、密码、备注)。
●将图书实体转换为图书关系:
(图书编号、图书名称、作者、出版社、简介)、
2.将联系转化为关系模型
根据图1-24所示的数字图书管理系统的基本E-R图,将其中的1:
n联系并入n端关系模式,关系的码用下横线标出。
用户关系模式修改为:
(用户编号、姓名、性别、密码、备注)。
图书关系模式修改为:
(图书编号、图书名称、作者、出版社、简介)。
五、物理结构设计
物理结构设计的目的是为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构。
在进行物理结构设计时应认真分析和思考各个表之间的关系,合理设计和实施数据完整性原则:
1.给每个表实施主键及外键约束。
2.由有关数据表在常用查询列上建立索引,以加快数据检索速度,例如以作者名称、出版社等为图书信息表建立索。
3.设定缺省约束。
如性别。
4.设置非空约束。
如图书信息表的中的书名。
字段名称
数据类型
字段大小
是否为必填字段
备注
Nmuber
数字
长整型
是
主键
UserName
文本
25
是
Password
文本
25
是
Sex
文本
25
否
Remards
文本
50
否
用户类别表
字段名称
数据类型
字段大小
是否为必填字段
备注
BNO
数字
长整型
是
主键
BN
文本
25
是
Editor
文本
25
否
Publsih
文本
25
否
Brief
文本
50
否
图书类别
六、查询表
1.用户查询表
1.1查询语句
2.图书查询表
2.1查询语句
3.技术简介
一、数据库方面
1.MicrosoftAccess2003介绍
Access2003是office自带的数据库,Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。
表(是数据库的基本对象,是创建其他5种对象的基础。
表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
查询(Query)查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
窗体提供了一种方便的浏览、输入及更改数据的窗口。
还可以创建子窗体显示相关联的表的内容。
窗体也称表单。
报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
宏相当于DOS中的批处理,用来自动执行一系列操作。
Access列出了一些常用的操作供用户选择,使用起来十分方便。
模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。
当对表格和报表进行操作时,MicrosoftAccess有一个无正式文本的特性。
这个特性允许你从设计视窗性质Sheetwindow中进行过程调用,调用的方法时同时按下shift和F2键。
2.Access的功能
1.数据库中包含多个表,每个表可以分别表示和存储不同类型的信息。
2.通过建立各个表之间的关联,从而将存储在不同表中的相关数据有机地结合起来。
3.用户可以通过创建查询在一个表或多个数据表中检索、更新和删除记录,并且可以对数据库中的数据进行各种计算。
4.通过创建联机窗体,用户可以直接对数据库中的记录执行查看和编辑操作。
二、ASP.NET(C#)
ASP.NET4.0作为之前各个ASP.NET版本的集大成者,开创了公共语音运行库和冬天太语言运行库相结合的编程框架,可用于在服务器上生成功能强大的WEB应用程序。
在ADO.NET实体框架中增加了许多新的功能,通过提高抽象层次,从而简化开发人员的关系数据库的程序。
这些新功能包括:
持续忽略、POCO支持、延迟加载,测试驱动开发的支持、功能模型以及新的LINQ运营商等。
改进JavaScript用户界面模板和AJAX中的数据绑定功能;改进ASP.NET的图表控制;
在WPF中增加Windows7多触控、ribbon控制、任务栏扩展功能支持;在WPF中增加Surface2.0SDK支持;
新的业务线控制,包括图表控制,智能编辑,数据网格,以及其他能够提高“建立数据中心的应用程序”的开发者经验的控制。
提高性能和可扩展性;在文字、像素布局、本地化和互操作性中添加可视化改进;
改善活动规划模型;改进设计体验;一个新的流程建模方式;扩大调色板的活动范围;工作流程规则一体化;新邮件相关的功能。
改进Windows通讯基础(WCF)构架,例如流服务相关支持,双向通信的持久性等。
.NET框架4还提供了新的WCF功能,例如服务发现、路由器服务、简化配置、REST支持、诊断和性能提升等。
三、开发环境
1.Microsoftaccess2003
2.Microsoftvisualstudio2010
3.win7
4.软件开发过程
一、登陆
从工具箱中拖拽一个Login一个label一个button、一个sqlDataSource到拆分设计中,然后先在login中添加代码。
登陆过后的显示
1.Login设计
protectedvoidLogin1_Authenticate(objectsender,AuthenticateEventArgse){
Stringstruser=System.Web.Configuration.WebConfigurationManager.ConnectionStrings["changpassword"].ConnectionString.ToString();//连接字符串OleDbConnectioncon=newOleDbConnection(struser);
con.Open();//打开连接
Stringstr="select*from[User]where(UserID='"+Login1.UserName+"'andPassword='"+Login1.Password+"')";
DataTabledt=newDataTable();//
OleDbDataAdapterAdapter=newOleDbDataAdapter(str,con);//保存检索数据
DataSetds=newDataSet();//定义数据存放地
Adapter.Fill(ds);
if(ds.Tables.Count!
=0)
{
dt=ds.Tables[0];
if(dt.Rows.Count>0)
{
Strings_UserID=dt.Rows[0]["UserID"].ToString();//
Session["UserID"]=s_UserID;//存储用户信息,同时判断输入是否对应
Response.Redirect("图书管理.aspx");//连接图书管理
}
else
{
Login1.FailureText="请检测您的用户名和密码";
}
}
}
2.简单设计
简单对label设计Label1.Text="如果你还不是会员请点击册";
按钮button1重命名为注册
protectedvoidButton1_Click(objectsender,EventArgse)
{
Response.Redirect("注册.aspx");
}
3.数据库绑定
连接字符串:
Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|\ASP.mdb;PersistSecurityInfo=True
在配置select时候选择自定义SQL语句或存储过程。
SQL语句:
select*from[User]最后再测试一下。
SqlDataSourceID="SqlDataSource1"runat="server"
ConnectionString="<%$ConnectionStrings:
changpassword%>"
DeleteCommand="DELETEFROM[User]WHERE(([UserID]=?
)OR([UserID]ISNULLAND?
ISNULL))"
InsertCommand="INSERTINTO[User]([UserID],[UserName],[Password],[Sex],[Remark])VALUES(?
?
?
?
?
)"
ProviderName="<%$ConnectionStrings:
changpassword.ProviderName%>"
SelectCommand="select*from[User]"
UpdateCommand="UPDATE[User]SET[UseName]=?
[Password]=?
[Sex]=?
[Remark]=?
WHERE(([UserID]=?
)OR([UserID]ISNULLAND?
ISNULL))">
SqlDataSource>
二、注册
设计的注册界面:
注册成功后:
注册失败:
即是用户名存在,用户名为唯一标志位。
1.数据源
SqlDataSourceID="SqlDataSource1"runat="server"
ConnectionString="<%$ConnectionStrings:
changpassword%>"
DeleteCommand="DELETEFROM[User]WHERE(([UserID]=?
)OR([UserID]ISNULLAND?
ISNULL))"
InsertCommand="INSERTINTO[User]([UserID],[UserName],[Password],[Sex],[Remarks])VALUES(?
?
?
?
?
?
)"
ProviderName="<%$ConnectionStrings:
changpassword.ProviderName%>"
SelectCommand="select*from[User]"
UpdateCommand="UPDATE[User]SET[UserName]=?
[Password]=?
[Sex]=?
[Remarks]=?
WHERE(([UserID]=?
)OR([UserID]ISNULLAND?
ISNULL))">
SqlDataSource>
2.label设置
为了使界面看起来对称设置label的大小
protectedvoidPage_Load(objectsender,EventArgse)
{
Label1.Text="UserID";
Label2.Text="UserName";
Label3.Text="Password";
Label4.Text="Sex";
Label5.Text="Remarks";
Label1.Width=50;
Label2.Width=50;
Label3.Width=50;
Label4.Width=50;
Label5.Width=50;
Label6.Text="";
}
3.用户注册
protectedvoidButton1_Click(objectsender,EventArgse)//try{}catch{}finally{}异常处理
{
try
{
Stringup="insertinto[User]values('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"','"+TextBox5.Text+"')";
stringmyconn=System.Web.Configuration.WebConfigurationManager.ConnectionStrings["changpassword"].ConnectionString.ToString();//连接字符串
OleDbConnectioncon=newOleDbConnection(myconn);//创建连接con.Open();//链接打开
OleDbCommandmycom=newOleDbCommand(up,con);
mycom.ExecuteNonQuery();
Label6.Text="注册成功";
Button1.Text="";
}
Catch
{
Label6.Text="用已存在,请重新注册";
stringscript=@"alert('Notice!
');window.location='注册.aspx';";ClientScript.RegisterStartupScript(GetType(),"msg",script,true);
//当用户名已经存在时会弹出提示界面,点击回到注册界面
}
finally
{
}
}
protectedvoidButton2_Click(objectsender,EventArgse)
{
Response.Redirect("用户登陆.aspx");
}
protectedvoidButton3_Click(objectsender,EventArgse)
{
Response.Redirect("用户登陆.aspx");
}
}
三、图书管理
查询BNO为1001后:
1.GridView
GridViewID="GridView1"runat="server"AutoGenerateColumns="False"
BackColor="White"BorderColor="#3366CC"BorderStyle="None"BorderWidth="1px"
CellPadding="4"DataKeyNames="BNO"DataSourceID="SqlDataSource1"
onselectedindexchanged="GridView1_SelectedIndexChanged1">
CommandFieldShowSelectButton="True"/>
BoundFieldDataField="BNO"HeaderText="BNO"ReadOnly="True"
SortExpression="BNO"/>
BoundFieldDataField="BN"HeaderText="BN"SortExpression="BN"/>
BoundFieldDataField="Editor"HeaderText="Editor"
SortExpression="Editor"/>
BoundFieldDataField="Publish"HeaderText="Publish"
SortExpression="Publish"/>
BoundFieldDataField="Brief"HeaderText="Brief"SortExpression="Brief"/>
GridView>
2.DetialView
DetailsViewID="DetailsView1"runat="server"AutoGenerateRows="False"
BackColor="#CCCCCC"BorderColor="#999999"BorderStyle="S