动态网站设计报告设计题目:图书信息管理系统设计学院:班级:姓名:学号:摘要在科技发达的今天,图书馆还是在现在中占了很大部分,大多数学生都把图书馆当成了一个很好的学习的地方,里面的图书可以丰富我们的只是,所以对图书的管理也就很重要了。
我们对图书的管理可以让同学们更好的了解到图书是否借出,对书籍好查看。
通过本系统达到以下目的:1)使用操作数据库。
2)使用数据绑定控件显示和同步数据库数据。
3)在多个窗体之间交换数据。
4)熟悉运用SQL SERVER数据库软件。
关键词:图书管理 ;数据库;控件目录1 软件需求分析说明书 (1)2 系统分析与设计 (1)2.1系统功能设计 (1)2.2 数据库设计 (1)2.2.1 图书管理系统中有2个表需要建立 (2)2.2.2实际操作 (2)3 系统实现 (3)3.1建库代码 (3)3.2 数据库连接 (4)3.3 后台主要代码 (5)3.3.1注册模块 (5)3.3.2登陆界面 (7)3.3.3用户管理 (8)3.3.4管理员界面 (11)3.3.5其他人员界面 (13)4 软件使用说明书 (14)总结 (15)参考文献 (16)1 软件需求分析说明书软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。
在软件工程项目中,首先要获取用户的需求,通过对软件需要的提取、分析、文档化和验证,为进一步的设计和实现提供数据。
软件需求与其他活动也密切相关,如软件测试、配置管理和质量管理等。
图书管理系统”主要提供图书信息和读者基本信息的维护以及借阅等功能。
本系统是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。
2 系统分析与设计2.1系统功能设计本系统实现了图书管理系统,总体分为以下几个模块:管理员界面(图书添加,修改,查询,删除),其他人员界面(查看)。
图1 系统功能模块图2.2 数据库设计在图书管理系统中,一本书只能被一个同学借出,一个用户可以多次登录,但只能注册一次,因此,图书管理系统设计的对象有同学,借书,书本信息.2.2.1 图书管理系统中有2个表需要建立用户表(student),包括学生编号(sno)、学生账号(users)、密码(pass)、姓名(sname)、性别(sex)、年龄(age)、地址(address)、电话(tell)、管理员(Role);图书表,包括图书编号(bid)、图书号(bno)、图书名(bname)、作者(writer)、价格(money)、借出(lend);2.2.2实际操作建立数据库book,建立如下各表(1)用户表包括编号、账号、密码、姓名、年龄、性别、地址、联系电话、家庭住址,用于存储用户的主要信息,可以通过前台对学生表数据进行增加、删除、修改、查询操作。
用户的主键是users(用户账号)。
用户表表是本数据库的重要信息表。
(2)图书表包括图书编号、图书号、图书名、作者、价格等。
用于图书的主要信息,可以通过前台对图书表数据进行增加、删除、修改、查询操作。
图书表的主键是bno(图书号),图书表是本数据库的重要信息表。
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),role 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文件中<connectionStrings><add name="dbconnectionstring" connectionString="DataSource=I301-37\SQLEXPRESS;Initial Catalog=book;Integrated Security=True"providerName="System.Data.SqlClient" /></connectionStrings><system.web><compilation debug="true"targetFramework="4.0" /><authentication mode="Forms"><forms loginUrl="~/Account/Login.aspx"timeout="2880" /></authentication><membership><providers><clear/><add name="AspNetSqlMembershipProvider"type="System.Web.Security.SqlMembershipProvider"connectionStringName="ApplicationServices"enablePasswordRetrieval="false"enablePasswordReset="true" requiresQuestionAndAnswer="false"requiresUniqueEmail="false"maxInvalidPasswordAttempts="5"minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0"passwordAttemptWindow="10"applicationName="/" /></providers></membership><profile><providers><clear/><add name="AspNetSqlProfileProvider"type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices"applicationName="/"/></providers></profile><roleManager enabled="false"><providers><clear/><add name="AspNetSqlRoleProvider"type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices"applicationName="/" /><add name="AspNetWindowsTokenRoleProvider"type="System.Web.Security.WindowsTokenRoleProvider"applicationName="/" /></providers></roleManager></system.web><system.webServer><modules runAllManagedModulesForAllRequests="true"/></system.webServer></configuration>3.3 后台主要代码3.3.1注册模块只有注册成为用户之后才能使用本系统,注册需要输入用户名,密码,再次输入密码等等,然后点击注册按钮,其具体效果图如图2所示:图2 用户注册界面namespace report.lib{public 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.TextBox4.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='" + users + "'";DB db=new DB();bool count = db.GetReader(sqlStr).HasRows;if (count)Response.Write("<script>alert('账号存在!');location='注册.aspx'</script>");elseif (this.TextBox1.Text!=""){string sqlStr1 = "insert intostudent(users,pass,sname,sex,age,address,tell)values('" + users + "','" + pass + "','" + sname + "','" + sex + "','" + age + "','" + address + "','" + tell + "')";int count1 = db.ExectSql(sqlStr1);if (count1 > 0){Response.Write("<script>alert('注册成功');</script>");Clear();}else{Response.Write("<script>alert('注册失败';location='注册.aspx')</script>");}}}public void Clear(){this.TextBox1.Text = "";this.TextBox2.Text = "";this.TextBox3.Text = "";this.TextBox4.Text = "";this.TextBox5.Text = "";this.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, EventArgs 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.Read();if (dr.HasRows){// Session["sno"] = dr.GetValue(0);Session["Role"] = dr.GetValue(0);if(dr.GetValue(0)==null){Response.Redirect("about.aspx");}else{Response.Redirect("main.aspx");}}else{Response.Write("<script>alert('登陆失败');location='登陆.aspx'</script>"); }dr.Close();}protected void Button2_Click(object sender, EventArgs e){Response.Redirect("注册.aspx");}}}3.3.3用户管理用户登陆成功后便可进入用户管理页面,选择是否为管理员。