图书管理系统aspnet.docx
《图书管理系统aspnet.docx》由会员分享,可在线阅读,更多相关《图书管理系统aspnet.docx(16页珍藏版)》请在冰豆网上搜索。
图书管理系统aspnet
课程设计任务书及成绩评定
课程设计的任务和具体要求
通过本实验理解在ASP.NET环境中创建ASP.NET数据库应用网站的方法和常用技巧;理解ADO.NET环境中的应用;掌握Web窗体控件的基本使用方法和常用属性。
通过本实验主要让学生体验如何综合运用前面几个章节所学的知识去开发一个实用性网站,主要达到如下目标:
1.学会系统分析的方法,掌握如何来分析系统的功能与业务流程。
2.学会数据库的设计方法,掌握如何来设计数据表单。
3.学会面向对象的方法和模块化的页面设计方法。
4.熟练掌握常用Web控件的使用以及C#语言的编程。
指导教师签字:
日期:
指导教师评语
成绩:
指导教师签字:
日期:
课程设计所需软件、硬件等
Ø硬件环境:
Inter(R)Core(TM)2DuoCPU,主频2.31GHz;内存3G;硬盘320G以上;1024×768显示分辨率
Ø软件环境:
SQLSever2005,visualstudio2005,IIS等。
课程设计进度计划
起至日期
工作内容
备注
2012.5.30—2010.6.2
2010.6.2—2010.6.7
2010.6.7—2010.6.16
熟悉相关知识,查阅资料
分析实验要求,确定解决方案
详细分析,编写代码及调试运行
书写实验报告
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
[1]陈哲,戴博,龚涛.新一代VisualC#2005程序设计[M].北京:
清华大学出版社,2007
[2]张越适.韩阳,张宏宇,C#数据库开发案例精选[M].北京:
人民邮电出版社,2007
[3]张立,C#2.0宝典[M].北京:
电子工业出版社,2007
[4]童爱红等.Delphi数据库编程[M].北京:
清华大学出版社,2005.106-158
[6]刘波.基于Delphi的学生成绩管理系统[J].四川大学学报,2009,(10):
283
1.前言
1.1开发工具的介绍
1、ASP.net
ASP.net是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。
ASP.net提供许多比现在的Web开发模式强大的优势,使执行效率大幅提高。
ASP.net是把基于通用语言的程序在服务器上运行。
不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
2、MicrosoftSQLServer2005
SQLServer是Microsoft公司开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计和管理功能。
其SQLServer2005版本已将数据库与Internet紧密连接,可以通过Web浏览器显示对数据库操作的结果数据,具有客户机/服务器体系结构。
SQLServer2005提供了对分布式事务处理的支持,并对开发工具具有良好的支持,为大型数据库项目提供了企业解决方案。
SQL是关系数据库的标准语言。
操作数据库有多种途径:
使用企业管理器、使用查询分析器、编程中使用T-SQL语句或使用交互命令形式等。
3、IIS
IIS(InternetInformationServer)是微软公司主推的服务器,包容了WorldWideWebGopherserver和FTPserver,IIS是随WindowsXP一起提供的文件和应用程序服务器,是在WindowsXP2上建立Internet服务器的基本组件。
它能与WindowsXP2集成,因而能通过WindowsXP2内置的安全性以及自身的安全性建立强大,灵活而安全的Internet和Intranet站点。
IIS支持HTTP(HypertextTransferProtocol,超文本传输协议),FTP(FileTransferProtocol,文件传输协议)以及SMTP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。
IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。
1.2程序设计思想
本图书管理系统中,运用到了,c#,javascript语言等等。
本系统功能主要有添加图书、添加读者、修改图书、管理读者、还书系统等功能,能够满足基本的要求,但由于时间上的关系,本系统数据库的测试数据并不多。
可以以读者身份或管理员身份登陆此系统,读者的登录名与密码由管理员管理,管理员可以进行图书的管理等操作。
2.需求分析
2.1图书管理系统概述
图书管理系统是图书馆等场所不可缺少的一部分,随着计算机水平的快速提高,图书管理系统也在不断地发展和完善。
可以以读者身份或管理员身份登陆此系统,读者的登录名与密码由管理员管理,管理员可以进行图书的管理等操作。
本管理系统主要是管理员对图书的管理,基本上实现了管理信息系统所必须的功能。
2.1.1项目目的和目标
管理员可以对本系统进行维护,但先要进行身份验证,成功后才可以实施管理员的权限。
它具有开放性强﹑操作性强﹑工作效率高等特点。
本管理信息系统主要实现权限的操作,根据用户不同的权限来实现具体的操作。
2.1.2系统可行性结论
作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高图书管理的效率,也是向科学化、正规化管理发展的必要条件。
系统针对读者和图书的特点以及管理中实际需要而设计,能够有效地实现图书管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的图书信息,并避免人为操作的错误和不规范行为。
2.2系统用户分析
“图书管理系统”通常有二种用户:
管理员,读者。
如下表就是提供了不同用户的使用权限:
用户角色
权限
管理员
对系统,数据库进行维护,主要对不同读者赋于不同的权限维护和管理图书基本信息,进行相应地添加、删除和修改。
读者
查看自己的借阅情况以及当前各类图书的信息,但不能进行修改操作。
2.3功能需求分析
运用VS2005+SQLserver2005开发一个图书管理系统,包括系统后台数据管理界面、实现分页、运用XML等,系统设计运用分层和权限设计的思想。
有相关信息的查询、添加、删除、编辑等等功能。
3.系统模块设计
4.关键步骤和代码
添加图书:
具体代码:
publicpartialclassEdit_BookState:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Request.Cookies["UserInfo"]==null)
{
Response.Redirect("Default.aspx");
}
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
Panel1.Visible=true;
}
protectedvoidButton2_Click(objectsender,EventArgse)
{
try
{
OleDbConnectionconn=null;
conn=newOleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource="+Server.MapPath("~/App_Data/data.mdb"));
conn.Open();
stringSqlStr="INSERTINTO[BookState](StateName)VALUES('"+TextBox1.Text.Trim()+"')";
OleDbCommandcmd=
newOleDbCommand(SqlStr,conn);
if(cmd.ExecuteNonQuery()!
=0)
{
Response.Write("alert(\"添加成功!
\")");
TextBox1.Text="";
Panel1.Visible=false;
}
else
{
Response.Write("alert(\"添加失败,请联系管理员!
\")");
}
conn.Close();
}
catch(Exceptionex)
{
Response.Write("alert(\"错误!
发生"+ex.Message+"\")");
}
GridView1.DataBind();
}
}
管理读者:
具体代码:
if(Request.Cookies["UserInfo"]==null)
{
Response.Redirect("Default.aspx");
}
Readerreader=newReader();
reader.SetRid("cs001");
AccessDataSource1.SelectCommand="SELECT*FROM[View_OutBook]WHERERID='"+reader.GetRid()+"'ANDBOOKSTATE=0";
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
stringbid=btn.CommandArgument;
longid=0;
try
{
OleDbConnectionconn=null;
OleDbDataReadermyReader=null;
conn=newOleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource="+Server.MapPath("~/App_Data/data.mdb"));
conn.Open();
stringSqlStr="SELECT*FROM[View_OutBook]WHEREBOOKSTATE=0ANDBOOKID='"+bid+"'";
OleDbCommandcmd=
newOleDbCommand(SqlStr,conn);
myReader=cmd.ExecuteReader();
if(myReader.Read())
{
id=Convert.ToInt64(myReader["Book.ID"].ToString());
}
stringetimestr="";
stringSqlStr2="SELECT*FROM[OutBookDetail]WHEREBOOKSTATE=0ANDBBID="+id+"";
cmd=newOleDbCommand(SqlStr2,conn);
myReader=cmd.ExecuteReader();
if(myReader.Read())
{
etimestr=myReader["BOOKETIME"].ToString();
}
intyear=Convert.ToInt32(etimestr.Substring(0,4));
stringss=etimestr;
intmonth=Convert.ToInt32(etimestr.Substring(5,2));
intday=Convert.ToInt32(etimestr.Substring(8,2));
DateTimeetime=newDateTime(year,month,day);
DateTimetnow=DateTime.Now;
if(etime.CompareTo(tnow)<0)
{
Response.Write("alert(\"该书已经超期,不能续借!
\")");
}
else
{
DateTimenewtime=tnow.AddDays(7);
if(newtime.CompareTo(etime)<0)
{
Response.Write("alert(\"未到续借时间,续借只能在到期的七天以内!
\")");
}
else
{
etime=etime.AddDays(30);
conn=newOleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource="+Server.MapPath("~/App_Data/data.mdb"));
conn.Open();
stringSqlStr3="UPDATE[OutBookDetail]SETBOOKETIME='"+etime.ToString("yyyy-MM-dd")+"'WHEREBBID="+id+"";
cmd=
newOleDbCommand(SqlStr3,conn);
if(cmd.ExecuteNonQuery()!
=0)
{
Response.Write("alert(\"续借成功!
\")");
}
else
{
Response.Write("alert(\"续借失败!
请联系管理员!
\")");
}
}
}
conn.Close();
GridView1.DataBind();
}
catch(Exceptionex)
{
Response.Write("alert(\"错误!
发生"+ex.Message+"\")");
}
}
}
还书系统:
代码实现:
if(Request.Cookies["UserInfo"]==null)
{
Response.Redirect("Default.aspx");
}
Readerreader=newReader();
reader.SetRid("cs001");
AccessDataSource1.SelectCommand="SELECT*FROM[View_OutBook]WHEREBOOKSTATE=0";
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
stringbid=btn.CommandArgument;
longid=0;
try
{
OleDbConnectionconn=null;
OleDbDataReadermyReader=null;
conn=newOleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource="+Server.MapPath("~/App_Data/data.mdb"));
conn.Open();
stringSqlStr="SELECT*FROM[View_OutBook]WHEREBOOKID='"+bid+"'";
OleDbCommandcmd=
newOleDbCommand(SqlStr,conn);
myReader=cmd.ExecuteReader();
if(myReader.Read())
{
id=Convert.ToInt64(myReader["Book.ID"].ToString());
}
stringetimestr="";
stringSqlStr2="SELECT*FROM[OutBookDetail]WHEREBBID="+id+"";
cmd=newOleDbCommand(SqlStr2,conn);
myReader=cmd.ExecuteReader();
if(myReader.Read())
{
etimestr=myReader["BOOKETIME"].ToString();
}
intyear=Convert.ToInt32(etimestr.Substring(0,4));
stringss=etimestr;
intmonth=Convert.ToInt32(etimestr.Substring(5,2));
intday=Convert.ToInt32(etimestr.Substring(8,2));
DateTimeetime=newDateTime(year,month,day);
DateTimetnow=DateTime.Now;
conn=newOleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"DataSource="+Server.MapPath("~/App_Data/data.mdb"));
conn.Open();
stringSqlStr3="UPDATE[OutBookDetail]SETBOOKSTATE=1WHEREBBID="+id+"";
cmd=newOleDbCommand(SqlStr3,conn);
if(cmd.ExecuteNonQuery()!
=0)
{
stringSqlStr4="UPDATE[Book]SETSTATE=1WHEREID="+id+"";
cmd=newOleDbCommand(SqlStr4,conn);
if(cmd.ExecuteNonQuery()!
=0)
{
if(etime.CompareTo(tnow)<0)
{
Response.Write("alert(\"归还成功!
请注意,该书已经超期!
\")");
}
elseResponse.Write("alert(\"归还成功!
\")");
}
else
{
Response.Write("alert(\"归还失败!
请联系管理员!
\")");
}
}
else
{
Response.Write("alert(\"归还失败!
请联系管理员!
\")");
}
conn.Close();
GridView1.DataBind();
}
catch(Exceptionex)
{
Response.Write("alert(\"错误!
发生"+ex.Message+"\")");
}
}
5.实验总结
经过一段时间的图书管理系统的设计,我在这次设计网页中锻炼了自我动手能力,增强了操作能力和分析逻辑能力。
可能该网站还存在着许多不尽如人意的地方,但这些都不重要了,我会进一步改善,正所谓任何设计都需要较长的一段时间来维护和管理。
在本次的课程设计中,在图书管理系统分析与设计的基础上对系统设计有了更深刻的了解,也有了更强的巩固和加深了ASP.net动态网页设计、SQLServer2005和VisualStudio2005的应用能力。
经过多次调试后,该系统能够完成学生、课程、成绩的相关管理。
在此次的图书管理系统网站设计中有许多的欠缺,在以后的日子中,我一定得更加严格要求自己,改正缺点,不断努力,不断进步,争取做到更好。