NET图书管理系统报告.docx
《NET图书管理系统报告.docx》由会员分享,可在线阅读,更多相关《NET图书管理系统报告.docx(27页珍藏版)》请在冰豆网上搜索。
![NET图书管理系统报告.docx](https://file1.bdocx.com/fileroot1/2023-5/21/614437c9-61e8-4e63-b602-84403eabd13a/614437c9-61e8-4e63-b602-84403eabd13a1.gif)
NET图书管理系统报告
《.NET平台课设计报告》
题目:
图书管理系统
专业:
信管
班级:
1班
学号:
姓名:
小许
***************************
完成日期:
2013年7月1日
一、系统需求如下:
(1)管理员操作之前,需要通过登录窗口登录成功后才能进入系统主页。
可以更改登录口令。
(2)管理员可以查阅馆内图书借阅情况。
管理员可以按读者条形码或图书条形码检索图书借阅信息,实现图书的借阅和归还工作。
(3)管理员可以查询图书信息,添加图书信息、图书类型信息、书架信息等信息。
(4)管理员可以查询图书信息,根据图书的条形码或图书名或作者或图书类型或出版社查阅图书信息。
(5)管理员可以查询读者信息,添加读者信息和读者类型。
二、系统设计要求:
采用三层模式设计:
表示层、业务逻辑层和数据库访问层。
三、数据库E-R图
tb_readerInfo
tb_readerType
tb_bookInfo
tb_bookType
tb_bookcase
tb_bookborrow
tb_user
四、界面及主要代码块
一.界面登录:
相应代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
Session["userName"]=null;
}
}
protectedvoidbtnEntry_Click(objectsender,EventArgse)
{
stringuserName=txtName.Text;
stringPwd=txtPwd.Text;
stringsql="select*fromtb_userwhereuserName='"+userName+"'anduserPwd='"+Pwd+"'";
if(dataOperate.seleSQL(sql)>0)
{
Session["userName"]=txtName.Text;
Response.Redirect("index.aspx");
}
else
{
Response.Write("");
}
}
二.借阅排行:
相应代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["userName"]!
=null)//判断用户是否登录
{
bindBookInfo();//调用自定义方法用来绑定图书借阅排行
}
else
Response.Redirect("entry.aspx");//跳转到登录页面
}
protectedvoidbindBookInfo()
{
stringsql="selecttop10*fromtb_bookInfoorderbyborrowSumdesc";//设置SQL语句
gvBookTaxis.DataSource=dataOperate.getDataset(sql,"tb_bookInfo");//获取图书信息数据源
gvBookTaxis.DataBind();//绑定GridView控件
}
protectedvoidgvBookTaxis_RowDataBound(objectsender,GridViewRowEventArgse)
{
if(e.Row.RowIndex!
=-1)//判断GridView控件中是否有值
{
intid=e.Row.RowIndex+1;//将当前行的索引加上一赋值给变量id
e.Row.Cells[0].Text=id.ToString();//将变量id的值传给GridView控件的每一行的单元格中
}
if(e.Row.RowType==DataControlRowType.DataRow)
{
//绑定图书类型
stringbookType=e.Row.Cells[3].Text.ToString();//获取图书类型编号
stringtypeSql="select*fromtb_bookTypewhereTypeID="+bookType;
SqlDataReadertypeSdr=dataOperate.getRow(typeSql);
typeSdr.Read();//读取一条数据
e.Row.Cells[3].Text=typeSdr["typeName"].ToString();//设置图书类型
//绑定书架
stringbookcase=e.Row.Cells[4].Text.ToString();//获取书架编号
stringcaseSql="select*fromtb_bookcasewherebookcaseID="+bookcase;
SqlDataReadercaseSdr=dataOperate.getRow(caseSql);
caseSdr.Read();
e.Row.Cells[4].Text=caseSdr["bookcaseName"].ToString();//设置书架
//设置鼠标悬停行的颜色
e.Row.Attributes.Add("onMouseOver","Color=this.style.backgroundColor;this.style.backgroundColor='lightBlue'");
e.Row.Attributes.Add("onMouseOut","this.style.backgroundColor=Color;");
}
}
三.图书管理:
相应代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["userName"]!
=null) //判断管理员是否登录
{
if(getSet())//判断是否拥有权限
{
bindBook();//自定义方法显示图书详细信息
}
else
Response.Write("");
}
else
{
Response.Redirect("entry.aspx");//返回到登录页面
}
}
publicvoidbindBook()
{
stringsql="select*fromtb_bookInfo";
gvBookManage.DataSource=dataOperate.getDataset(sql,"tb_bookInfo");//获取图书信息数据源
gvBookManage.DataKeyNames=newstring[]{"bookBarCode"};//设置主键字段
gvBookManage.DataBind();//绑定GridView控件
}
protectedvoidgvBookManage_RowDataBound(objectsender,GridViewRowEventArgse)
{
if(e.Row.RowType==DataControlRowType.DataRow)
{//设置图书类型
stringbookType=e.Row.Cells[2].Text.ToString();//获取图书类型编号
stringtypeSql="select*fromtb_bookTypewhereTypeID="+bookType;
SqlDataReadertypeSdr=dataOperate.getRow(typeSql);
typeSdr.Read();//读取一条记录
e.Row.Cells[2].Text=typeSdr["typeName"].ToString();
//设置书架
stringbookcase=e.Row.Cells[3].Text.ToString();//获取书架编号
stringcaseSql="select*fromtb_bookcasewherebookcaseID="+bookcase;
SqlDataReadercaseSdr=dataOperate.getRow(caseSql);
caseSdr.Read();//读取一条记录
e.Row.Cells[3].Text=caseSdr["bookcaseName"].ToString();
e.Row.Attributes.Add("onMouseOver","Color=this.style.backgroundColor;this.style.backgroundColor='lightBlue'");
e.Row.Attributes.Add("onMouseOut","this.style.backgroundColor=Color;");
}
}
protectedvoidgvBookManage_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
stringbarCode=gvBookManage.DataKeys[e.RowIndex].Value.ToString();//获取改行图书条形码
stringsql="deletefromtb_bookInfowherebookBarCode='"+barCode+"'";
dataOperate.execSQL(sql);//将此条图书信息删除
bindBook();//调用自定义方法重新绑定图书信息
}
publicboolgetSet()
{
stringuserName=Session["userName"].ToString();//获取管理员登录名
stringsql="select*fromtb_admSetwhereuserName='"+userName+"'";
SqlDataReadersdr=dataOperate.getRow(sql);
sdr.Read();//读取一条记录
returnConvert.ToBoolean(sdr["systemSet"]);//返回是否拥有权限
}
protectedvoidgvBookManage_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
gvBookManage.PageIndex=e.NewPageIndex;//设置当前页的索引
gvBookManage.DataBind();//重新绑定GridView控件
}
四.添加图书:
相应代码如下:
publicpartialclassaddBookInfo:
System.Web.UI.Page
{
privatestringid="";
protectedvoidPage_Load(objectsender,EventArgse)
{
id=Request.QueryString["ID"].ToString();//获取对图书操作的方式
if(!
IsPostBack)//判断是否是首次加载
{
bindBookType();//自定义方法绑定图书类型
bindBookcase();//自定义方法绑定书架
if(id!
="add")//判断是否是添加操作
{
this.Title="修改图书信息";
bindBookInfo();//调用自定义方法显示图书信息
}
else
{
this.Title="添加图书信息";
txtBarCode.Text=barcode();//调用自定义方法生成条形码
}
}
}
publicvoidbindBookInfo()
{
stringsql="select*fromtb_bookInfowherebookBarCode='"+id+"'";
SqlDataReadersdr=dataOperate.getRow(sql);
sdr.Read();//读取一条记录
txtBarCode.Text=sdr["bookBarCode"].ToString();//显示图书条形码信息
txtBookName.Text=sdr["bookName"].ToString();//显示图书名称信息
ddlBookType.SelectedValue=sdr["bookType"].ToString();//显示图书类型信息
ddlBookcase.SelectedValue=sdr["bookcase"].ToString();//显示书架信息
txtBookConcern.Text=sdr["bookConcern"].ToString();//显示图书出版社信息
txtAuthor.Text=sdr["author"].ToString();//显示图书作者信息
txtPrice.Text=sdr["Price"].ToString();//显示图书价格信息
}
//绑定图书类型下拉列表
publicvoidbindBookType()
{
stringsql="select*fromtb_bookType";//获取所有图书类型
ddlBookType.DataSource=dataOperate.getDataset(sql,"tb_bookType");//将图书类型绑定到DropDownList控件上
ddlBookType.DataTextField="TypeName";//设置DropDownList控件的显示文本
ddlBookType.DataValueField="TypeID";//设置DropDownList控件的值
ddlBookType.DataBind();
}
//绑定书架下拉列表
publicvoidbindBookcase()
{
stringsql="select*fromtb_bookcase";
ddlBookcase.DataSource=dataOperate.getDataset(sql,"tb_bookcase");
ddlBookcase.DataTextField="bookcaseName";
ddlBookcase.DataValueField="bookcaseID";
ddlBookcase.DataBind();
}
//生成条形码
publicstringbarcode()
{
//获取当前日期的年,月,日转换成字符串类型用于表示条形码
stringdate=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString();
//获取当前时间的小时,分钟转换成字符串类型用于表示条形码
stringtime=DateTime.Now.Hour.ToString()+DateTime.Now.Second.ToString();
return"10"+date+time; //返回一个13位的条形码
}
protectedvoidbtnSave_Click(objectsender,EventArgse)
{
stringbookBarcode=txtBarCode.Text;//获取图书条形码信息
stringbookName=txtBookName.Text;//获取图书名称信息
stringbookType=ddlBookType.SelectedValue;//获取图书类型信息
stringbookcase=ddlBookcase.SelectedValue;//获取书架信息
stringbookConcern=txtBookConcern.Text;//获取图书出版社信息
stringauthor=txtAuthor.Text;//获取图书作者信息
stringprice=txtPrice.Text;//获取图书价格信息
stringsql="";
//判断当前对图书信息的操作
if(id=="add")
{
sql="insertintotb_bookInfo(bookBarCode,bookName,bookType,bookcase,bookConcern,author,price)values('"+bookBarcode+"','"+bookName+"','"+bookType+"','"+bookcase+"','"+bookConcern+"','"+
author+"',"+price+")";
}
else
sql="updatetb_bookInfosetbookName='"+bookName+"',bookType='"+bookType+"',bookcase='"+bookcase+"',bookConcern='"+bookConcern+"',author='"+author+"',price="+price+"wherebookBarcode='"+bookBarcode+"'";
if(dataOperate.execSQL(sql))//判断添加或修改是否成功
{
Response.Write("alert('添加成功!
');window.opener.location.href=window.opener.location='bookInfoManage.aspx';window.close();");
}
else
{
RegisterStartupScript("","");
}
}
}
五.图书借阅:
相应代码如下:
publicpartialclassbookBorrow:
System.Web.UI.Page
{
staticintisSum=0;
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["userName"]!
=null) //判断管理员是否登录
{
if(!
getSet())//判断是否拥有权限
{
Response.Write("");
}
}
else
{
Response.Redirect("entry.aspx");//返回到登录页面
}
}
publicboolgetSet()
{
stringuserName=Session["userName"].ToString();//获取管理员登录名
stringsql="select*fromtb_admSetwhereuserName='"+userName+"'";
SqlDataReadersdr=dataOperate.getRow(sql);//获取管理员权限信息
sdr.Read();//读取一条记录
returnConvert.ToBoolean(sdr["bookBorrow"]);//返回是否拥有权限
}
protectedvoidbtnReaderSearch_Click(objectsender,EventArgse)
{
bindReaderInfo();//调用自定义方法显示读者信息
}
//自定义方法显示读者信息,
publicvoidbindReaderInfo()
{
stringreaderBarCode=txtReaderBarCode.Text;//获取读者条形码
//创建SQL语句在读者信息表中查询符合读者条形码条件的记录
stringreaderSql="select*fromtb_readerInfowherereaderBarCode='"+readerBarCode+"'";
SqlDataReadersdr=dataOperate.getRow(readerSql);//获取该读者详细信息
if(sdr.Read())
{//读取一条记录
txtReaderName.Text=sdr["readerName"].ToString();//显示读者姓名
txtReaderSex.Text=sdr["Sex"].ToString();//显示读者性别
txtCertificateType.Text=sdr["certificateType"].ToString();//显示证件类型
txtCertificate.Text=sdr["certificate"].ToString();//显示证件号
//创建SQL语句在读者类型表中查询符合读者类型编号的记录
stringreaderTypeSql="select*fromtb_readerTypewhereid="+sdr["readerType"].ToString();
SqlDataReadertypeSdr=data