当前位置:文档之家› 图书馆管理系统课程设计(ASP+SQL)

图书馆管理系统课程设计(ASP+SQL)

1.设计思想我们通过对其他院校的图书馆管理系统的分析和研究,结合目前学院的管理实际情况等因素,归纳整理出了如下的设计思想:(1)一个系统,两个界面该系统分两个界面,一个是图书馆的后台管理系统,登陆者为系统管理员设计的核心功能是实现图书馆的多方面的信息查询,包括图书馆信息,读者的信息和图书的借阅等信息的管理;另一个是读者的运行界面,有查询和借阅归还图书等功能,不具备管理功能。

系统会根据登录者的信息来判断应该进入哪个运行环境。

(3)两类角色即普通用户和管理员,普通用户中又可进一步细分为老师、学生等。

(4)五种管理◆图书馆信息管理◆用户信息管理◆读者档案管理◆图书档案管理◆图书的借阅归还管理以下主要围绕该设计思想对系统体系结构分析,数据库设计分析、模块功能等进行详细说明。

2.系统体系结构开发采用ASP+SQL SERVER模式,系统体系结构如下图所示:【说明】:在系统设计过程中,管理人员按角色进一步划分,篇幅有限,详细设计这里不做介绍,请谅解。

3.数据库设计数据库是网站的基础,因此必须在数据库框架设计完成的情况下,其他模块才有可能实施。

我们采用的数据库开发工具是SQL Server 2000,数据库名称为LibraryMS,根据系统设计需要的存储信息,在该数据库中定义了如下各数据表。

1.图书馆信息表(library),表设计如下:libraryname——图书馆名称,curator——馆长,tel——联系电话,address ——地址,email——邮箱地址,url——网址,createdate——建馆日期,introduce——介绍说明2.用户信息表(admin),表设计如下:id——用户编号,name——姓名,pwd——密码3.用户权限设置表(purview),表设计如下:Id——用户编号,sysset——系统设置,readset——读者管理,bookset——图书管理,borrowback——图书借还管理,sysquery——系统查询4.书架信息表(bookcase),表设计如下:id——书架编号,name——书架类型5.读者档案信息表(reader),表设计如下:Id——读者编号,name——读者姓名,pwd——密码,sex——性别,type——读者类型,birthday——出生日期,papertype——证件类型,papernum——证件号码,tel——联系电话,email——邮箱,habby——爱好,createdate——用户创建日期,oper——管理者,remark——备注,borrownum——可借数量,num ——累积借阅次数,photo——照片6.读者类型表(readertype),表设计如下:id——类型编号,name——名称,number——可借数量7.图书档案信息表(bookinfo),表设计如下:bookcode——图书条形码编号,bookname——书名,type——类别,auto——作者,translator——翻译,pubname——出版社,price——价格,page——页数,bcase——所属书架,storage——藏书量,intime——引进时间,oper——管理者,borrownum——已借数量8.图书类型表(booktype),表设计如下:id——编号,typename——类型名称,days——可借天数9.图书借阅归还表(borrowandback),表设计如下:Id——编号,readerid——读者编号,bookcode——图书条形码,borrowtime ——借书日期,ygbacktime——应还日期,sjbacktime——实际归还日期,borrowoper——借书负责人,backoper——还书负责人,isback——是否归还10.读者留言表(readertalk),表设计如下:id——留言编号,readername——读者姓名,title——主题,speaktime——留言时间,neirong——留言内容4.功能模块这一部分主要是各个模块的实现功能、代码、及效果图,本人参与的是读者留言模块。

4.1 登陆界面系统编码的类:DataBase.csusing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public class DataBase{public DataBase(){}private SqlConnection conn;public void open(){ conn = new SqlConnection();string connstring =Convert.ToString(System.Configuration.ConfigurationManager.ConnectionStrings["Libra ryMSConnectionString"]);conn.ConnectionString = connstring;conn.Open();}public SqlConnection Acc(){return conn;}public void Close(){ conn.Close();}public int Returncmd(string cmdstring){this.open();int i = 0;SqlCommand cmd = new SqlCommand(cmdstring ,conn );mandType = CommandType.Text;cmd.Connection = this.Acc();i = cmd.ExecuteNonQuery();this.Close();return i;}public DataSet ReturnDataSet(string cmdstring, string bName){ this.open();SqlCommand cmd = new SqlCommand(cmdstring, conn);mandType = CommandType.Text;cmd.Connection = this.Acc();SqlDataAdapter myda = new SqlDataAdapter(cmdstring, conn);myda.SelectCommand = cmd;DataSet myds = new DataSet();myda.Fill(myds, bName);this.Close();return myds;}}ReaderTalkManage.cs:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public class ReaderTalkManage{ public ReaderTalkManage(){}DataBase da = new DataBase();public DataSet GetReadersTalk(string bname){return (da.ReturnDataSet("select top 5 * from readertalk order by speaktime desc", bname));}public int AddReaderTalk(string readername,string title,DateTime speaktime,string neirong){return (da.Returncmd("insert intoreadertalk(readername,title,speaktime,neirong) values('" + readername + "','" + title + "','" + speaktime + "','" + neirong + "')"));}public DataSet GetAllTalk(string bname){return (da.ReturnDataSet("select * from readertalk ", bname));}}登录界面login.aspx,代码如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data .SqlClient ;public partial class_Default : System.Web.UI.Page{AdminManage adminmanage = new AdminManage();ReaderManage readermanage = new ReaderManage();protected void Button1_Click1(object sender, EventArgs e){if (TextBox1.Text == ""){Response.Write("<script>alert('管理员名称不能为空!')</script>");return;}else{DataSet adminds = null;DataSet readerds = null;string aname = TextBox1.Text;string apwd = TextBox2.Text;adminds = adminmanage.Login(aname, apwd);string rname = TextBox1.Text;string rpwd = TextBox2.Text;readerds = readermanage.ReaderLogin(rname, rpwd);if (adminds.Tables[0].Rows.Count > 0 && TextBox3.Text == Request.Cookies["CheckCode"].Value){Session["name"] = TextBox1.Text;Response.Redirect("Default2.aspx");}else if (readerds.Tables[0].Rows.Count > 0 && TextBox3.Text == Request.Cookies["CheckCode"].Value){Session["name"] = TextBox1.Text;Session["readid"] = TextBox2.Text;Session["role"] = "Reader";Response.Redirect("Default2.aspx");}else{Response.Write("<script>alert('登录名或密码不正确!')</script>"); }}}protected void Button2_Click1(object sender, EventArgs e){TextBox1.Text = "";TextBox2.Text = "";TextBox3.Text = "";}protected void LinkButton1_Click1(object sender, EventArgs e){Image1.ImageUrl = "~/checkcode.aspx";}}程序运行效果图如下:当用户在上图所示的界面中填写完数据后,单击“确定”按钮,进入系统主界面。

相关主题