1、 A动态网站设计报告 设计题目: 图书信息管理系统设计 学院: 班级: 姓名: 学号: 摘 要 在科技发达的今天,图书馆还是在现在中占了很大部分,大多数学生都把图书馆当成了一个很好的学习的地方,里面的图书可以丰富我们的只是,所以对图书的管理也就很重要了。我们对图书的管理可以让同学们更好的了解到图书是否借出,对书籍好查看。 通过本系统达到以下目的: 1)使用ASP.NET操作数据库。 2)使用数据绑定控件显示和同步数据库数据。 3)在多个窗体之间交换数据。 4)熟悉运用SQL SERVER数据库软件。 关键词:图书管理 ;数据库 ;控件 目 录 1 软件需求分析说明书12 系统分析与设计12.1
2、系统功能设计12.2 数据库设计22.2.1 图书管理系统中有2个表需要建立22.2.2实际操作33 系统实现33.1建库代码33.2 数据库连接43.3 A后台主要代码53.3.1注册模块53.3.2登陆界面73.3.3用户管理93.3.4管理员界面113.3.5其他人员界面134 软件使用说明书14总 结15参考文献16 1 软件需求分析说明书软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。在软件工程项目中,首先要获取用户的需求,通过对软件需要的提取、分析、文档化和验证,为进一步的设计和实现提供数据。软件需求与其他活动也密切相关,如软件测试、配置管理和质量管理等。图书
3、管理系统”主要提供图书信息和读者基本信息的维护以及借阅等功能。本系统是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。 2 系统分析与设计2.1系统功能设计 本系统实现了图书管理系统,总体分为以下几个模块:管理员界面(图书添加,修改,查询,删除),其他人员界面(查看)。 图1 系统功能模块图 2.2 数据库设计 在图书管理系统中,一本书只能被一个同学借出,一个用户可以多次登录,但只能注册一次,因此,图书管理系统设计的对象有同学,借书,书本信息.2.2.1 图书管理系统中有2个表需要建立 用户表(student),包括学生编号(sno
4、)、学生账号(users)、密码(pass)、姓名(sname)、性别(sex)、年龄(age)、地址(address)、电话(tell)、管理员(Role); 图书表,包括图书编号(bid)、图书号(bno)、图书名(bname)、作者(writer)、价格(money)、借出(lend);2.2.2实际操作建立数据库book,建立如下各表(1)用户表 包括编号、账号、密码、姓名、年龄、性别、地址、联系电话、家庭住址,用于存储用户的主要信息,可以通过前台对学生表数据进行增加、删除、修改、查询操作。用户的主键是users(用户账号)。用户表表是本数据库的重要信息表。 表1 用户表字段名数据类型
5、大小字段描述Snoint编号,自动递增,作主键UserChar10账号PassNvarchar15密码Snamevarchar2姓名Sexvarchar15性别Ageint年龄Addressvarchar15地址TellNvarchar15电话RoleBit是否为管理员(2)图书表 包括图书编号、图书号、图书名、作者、价格等。用于图书的主要信息,可以通过前台对图书表数据进行增加、删除、修改、查询操作。图书表的主键是bno(图书号),图书表是本数据库的重要信息表。 表2 图书表字段名数据类型大小字段描述BidInt列表编号Bnochar10图书编号bnamevarchar15图书姓名writer
6、nvarchar20作者moneynchar10价格 3 系统实现3.1建库代码-创建数据库bookcreate database book;-连接数据库bookuse book;-创建student表CREATE TABLE student(sno int,users char(5) primary key, pass varchar(8) not null, sex char(2) check(sex in(男,女), sname varchar(20) not null, age int, address varchar(50) not null, tell varchar(15),ro
7、le bit)-创建book表CREATE TABLE bok( bid int not null,bno char(5) primary key, bname varchar(10), writer varchar(15), monry char(5) not null, )3.2 数据库连接该系统所有的数据库的连接参数都在配置文件web.config文件中 3.3 A后台主要代码3.3.1注册模块 只有注册成为用户之后才能使用本系统,注册需要输入用户名,密码,再次输入密码等等,然后点击注册按钮,其具体效果图如图2所示: 图2 用户注册界面namespace report.lib publi
8、c partial class regist: System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) string users = this.TextBox1.Text.Trim(); string pass = this.TextBox2.Text.Trim(); string pass1 = this.TextBox3.Text.Trim(); string sname = this.Te
9、xtBox4.Text.Trim(); string sex = ; string age = this.TextBox5.Text.Trim(); string address = this.TextBox6.Text.Trim(); string tell = this.TextBox7.Text.Trim(); if (RadioButton1.Checked =true) sex = RadioButton1.Text; else sex = RadioButton2.Text; string sqlStr = select users from student where users
10、= + users + ; DB db=new DB(); bool count = db.GetReader(sqlStr).HasRows; if (count) Response.Write(alert(账号存在!);location=注册.aspx); else if (this.TextBox1.Text!=) string sqlStr1 = insert into student(users,pass,sname,sex,age,address,tell)values( + users + , + pass + , + sname + , + sex + , + age + ,
11、+ address + , + tell + ); int count1 = db.ExectSql(sqlStr1); if (count1 0) Response.Write(alert(注册成功);); Clear(); else Response.Write(alert(注册失败;location=注册.aspx); public void Clear() this.TextBox1.Text = ; this.TextBox2.Text = ; this.TextBox3.Text = ; this.TextBox4.Text = ; this.TextBox5.Text = ; t
12、his.TextBox6.Text = ; this.TextBox7.Text = ; protected void Button2_Click(object sender, EventArgs e) Response.Redirect(登录.aspx); 3.3.2登陆界面 用户注册后便可登录,输入用户名和密码,点击登录按钮便可成功登陆,具体效果如图3所示图3 登陆界面namespace report.lib public partial class second : System.Web.UI.Page protected void Page_Load(object sender, Ev
13、entArgs e) protected void Button1_Click(object sender, EventArgs e) string users = this.TextBox1.Text.Trim(); string pass = this.TextBox2.Text.Trim(); string sqlStr = select users from student where users= + users + and pass= + pass + ; DB db = new DB(); SqlDataReader dr = db.GetReader(sqlStr); dr.R
14、ead(); if (dr.HasRows) / Sessionsno = dr.GetValue(0); SessionRole = dr.GetValue(0); if(dr.GetValue(0)=null) Response.Redirect(about.aspx); else Response.Redirect(main.aspx); else Response.Write(alert(登陆失败);location=登陆.aspx); dr.Close(); protected void Button2_Click(object sender, EventArgs e) Respon
15、se.Redirect(注册.aspx); 3.3.3用户管理 用户登陆成功后便可进入用户管理页面,选择是否为管理员。具体效果如图4所示 图4 用户管理界面namespace report.lib public partial class user : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) dbind(); public void dbind() SqlConnection myCon =DB.GetConnection(); myCon.Open();
16、string sqlStr = select * from student; SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myCon); DataSet myDs = new DataSet(); myDa.Fill(myDs); GridView1.DataSource = myDs; GridView1.DataBind(); myCon.Close(); protected void GridView1_RowEditing1(object sender, GridViewEditEventArgs e) GridView1.Edit
17、Index = e.NewEditIndex; this.dbind(); protected void GridView1_OnRowUpdating1(object sender, GridViewUpdateEventArgs e) int id = Convert.ToInt32(GridView1.DataKeyse.RowIndex.Value.ToString(); string sname = (TextBox)(GridView1.Rowse.RowIndex.Cells0.Controls0).Text.ToString(); string tell=(TextBox)(t
18、his.GridView1.Rowse.RowIndex.Cells1.Controls0).Text.ToString(); string Role = (CheckBox)(this.GridView1.Rowse.RowIndex.Cells2.Controls0).Checked.ToString(); string sqlStr = update student set sname= + sname + ,tell= + tell + ,Role= + Role + where users= + id; DB db = new DB(); db.ExectSql(sqlStr); G
19、ridView1.EditIndex = -1; dbind(); protected void GridView1_OnRowCancelingEdit1(object sender, GridViewCancelEditEventArgs e) GridView1.EditIndex = -1; this.dbind(); protected void GridView1_OnRowDeleting(object sender, GridViewDeleteEventArgs e) DB db = new DB(); int id = Convert.ToInt32(GridView1.D
20、ataKeyse.RowIndex.Value.ToString(); string sqlStr = delete from student where users= + id; db.ExectSql(sqlStr); GridView1.EditIndex = -1; dbind(); protected void LinkButton1_Click(object sender, EventArgs e) Response.Redirect(second.aspx); /protected void GridView1_OnRowDataBound(object sender, Grid
21、ViewRowEventArgs e) / / if (e.Row.RowType = DataControlCellType.DataRow) / / (LinkButton)e.Row.Cells4.Controls0).Attributes.Add(onclick,return confirm(“确定删除); / dbind(); / / 3.3.4管理员界面 用户通过输入账号密码,为管理员进入此页面,具体效果如图6所示 图5 管理员界面namespace report.lib public partial class adminu : System.Web.UI.Page protec
22、ted void Page_Load(object sender, EventArgs e) if (!IsPostBack) dbind(); public void dbind() SqlConnection myCon =DB.GetConnection(); myCon.Open(); string sqlStr = select * from student; SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myCon); DataSet myDs = new DataSet(); myDa.Fill(myDs); GridView1
23、.DataSource = myDs; GridView1.DataBind(); myCon.Close(); protected void GridView1_RowEditing1(object sender, GridViewEditEventArgs e) GridView1.EditIndex = e.NewEditIndex; this.dbind(); protected void GridView1_OnRowUpdating1(object sender, GridViewUpdateEventArgs e) int id = Convert.ToInt32(GridVie
24、w1.DataKeyse.RowIndex.Value.ToString(); string sname = (TextBox)(GridView1.Rowse.RowIndex.Cells0.Controls0).Text.ToString(); string tell=(TextBox)(this.GridView1.Rowse.RowIndex.Cells1.Controls0).Text.ToString(); string Role = (CheckBox)(this.GridView1.Rowse.RowIndex.Cells2.Controls0).Checked.ToStrin
25、g(); string sqlStr = update student set sname= + sname + ,tell= + tell + ,Role= + Role + where users= + id; DB db = new DB(); db.ExectSql(sqlStr); GridView1.EditIndex = -1; dbind(); protected void GridView1_OnRowCancelingEdit1(object sender, GridViewCancelEditEventArgs e) GridView1.EditIndex = -1; t
26、his.dbind(); protected void GridView1_OnRowDeleting(object sender, GridViewDeleteEventArgs e) DB db = new DB(); int id = Convert.ToInt32(GridView1.DataKeyse.RowIndex.Value.ToString(); string sqlStr = delete from student where users= + id; db.ExectSql(sqlStr); GridView1.EditIndex = -1; dbind(); prote
27、cted void LinkButton1_Click(object sender, EventArgs e) Response.Redirect(second.aspx); 3.3.5其他人员界面用户可查看图书是否借出。具体效果如图7所示 图6 房间删除界面namespace report.lib public partial class about : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) dbind(); public SqlConnection getConnection() st
28、ring connstr = System.Configuration.ConfigurationManager.ConnectionStringsdbconnectionstring.ToString(); SqlConnection myCon = new SqlConnection(connstr); return myCon; public void dbind() SqlConnection myCon = getConnection(); myCon.Open(); string sqlStr = select * from bok; SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myCon); DataSet myDs = new DataSet(); myDa.Fill(myDs); GridView1.DataSource = myDs; GridView1.DataBind(); myCon.Close(); 4 软件使用说明书图书管理系统主要负责图书的添加,借出和修改,让同学们更好、更快的利用查询功能进入,查看需要的图书。(1) 添加图书,图书就会自动添加到指定表中,并更新出来。(2) 删除图书,图书就会自动从表中删除。(3) 修改图书,图书就会自动从表中删除。