版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1 引言11.1课程设计选题11.2课程设计的目的11.3本选题的设计背景12 系统分析与设计22.1 系统功能需求分析22.2 系统功能模块设计32.3 系统开发运行环境33 数据库设计44 模块详细设计与实现64.1 登录模块64.2 主页面模块74.3书籍管理页面模块84.4读者管理模块94.5书籍借还模块114.6系统查询模块154.7系统设置模块164.8更改口令模块17结论19参考文献201 引言1.1课程设计选题书刊租借信息管理系统1.2课程设计的目的通过本课程设计,掌握使用ASP.NET技术进行网络程序设计的基本知识,如:服务器控件、内部对象、数据库建立、数据库的读取、数据
2、显示等;熟悉网络程序设计每个步骤中的任务和实施方法,并加深对C#语言的理解。通过设计一个图书馆借阅管理系统,进一步熟悉网络环境下的程序设计方法,综合训练动手能力,提高分析问题、解决实际问题的能力。1.3本选题的设计背景人们对于借阅书籍的需求和途径越来越多,并且随着网络技术的高速发展和计算机应用的普及,在一些小书店,仍然手工进行图书的管理,又因管理人员对图书的类型不了解,读者需要图书难以在短时间内找到,不便于及时的调整书籍的结构。书租借管理系统有效的解决了这些问题,提供了有效的解决手段,所以一个使用功能的系统必须的。2 系统分析与设计2.1 系统功能需求分析功能主要是对书刊租借信息进行管理。其开
3、发主要包括后台数据库的建立,维护以及前台应用程序的开发两个方面:一方面要求建立数据一致和完整性强、数据安全性高的数据库:另一方面要求应用程序具有功能完美、易使用等特点。(1)管理员用户要求实现如下功能:修改个人密码:可以修改管理员密码。添加管理员:可以再添加其他用户,对读者的权限进行设置,对其基本信息进行、改、删除。书籍管理:包括书籍类型管理和书籍信息管理。书籍类型管理包括添加、删除、修改书籍类型。书籍信息管理包括书籍添加书籍和名称,作者,单价,出版社等信息的修改及删除。读者管理:包括读者类型浏览和读者信息管理。查看读者的类型。读者信息管理包括对对着信息进行添加、删除和修改。书籍借还:对书籍进
4、行借阅、续借及归还。系统查询:借阅书籍信息及其借阅情况。(2)系统根据最高权限的管理员进行其他用户的设置。系统包括如下功能:读者用户要求实现如下功能:修改个人信息:用户登录后,可以修改个人的信息,如:密码等。查询图书信息:实现按书名、作者、出版社等多种方式的查询。查询图书外借信息:实现按书名、作者、出版社等多种方式的查询。书籍借阅:读者可以进行借书操作。书籍续借:可以进行书籍的续借。书籍归还:用户归还图书,可以查看还有哪些书没有归还。2.2 系统功能模块设计书刊借阅信息系统通过对系统进行需求分析得到,系统主要包括十一大功能模块,分别是登录、注册、修改删除读者信息、图书查询、借阅查询、添加管理用
5、户、添加图书、借书、还书、续借等。功能模块图如图1所示:用户管理员系统查询书籍借还系统查询书籍借还读者管理书籍管理图1 功能模块图2.3 系统开发运行环境本系统开发平台:ASP.NET+Microsoft SQL Server2000.本系统运行环境:Windows XP或以上版本(安装IIS5.0以上版本)3 数据库设计系统选用Microsoft SQL Server2000数据库,共建立四个数据表,分别是管理员信息表、读者信息表,图书信息表,图书借阅信息表。管理员信息表,用于存储管理员的基本信息,主要包括用户名、密码。其结构如下所示:表一 tb_user(管理员信息)表序号字段名数据类型主
6、键允许空说明1userId文本是否2userName文本否否用户名字3userPwd文本否否用户密码用户信息表,用于存储管理员的基本信息,主要包括用户名、密码。其结构如下所示:表二 tb_user1(用户信息)表序号字段名数据类型主键允许空说明1userId文本是否2userName文本否否用户名字3userPwd文本否否用户密码读者信息表,用于存储读者的基本信息,其结构如下所示:表三tb_readerInfo(读者信息)表序号字段名数据类型主键允许空说明1ReaderBarCode自动编号否否自动编号2readerName文本是否读者姓名3sex文本否否性别4readerType文本否否读者
7、类型5certificateType文本否否证件类型6certificate文本否否证件号7tel文本否否联系电话8email文本否否邮箱9remark文本否否备注读者类型表,用于存储读者类型的基本信息,其结构如下所示:表四tb_readerType(读者类型)表字段名数据类型主键允许空说明typeID数字是否序列号typeName文本否否类型borrowDay数字否否允许外借时间书籍类型表,用于存储读者类型的基本信息,其结构如下所示:表五 tb_bookType(书籍类型)表字段名数据类型主键允许空说明typeID数字是否序列号typeName文本否否类型borrowDay数字否否允许外借时
8、间书籍信息表,用于存储书籍的基本信息,其结构如下所示:表六tb_bookInfo(书籍信息)表字段名数据类型主键允许空说明bookBarCode文本是否书籍代码条bookName文本否否书名bookType数字否否类型bookConcern文本否否出版社aothor数字否否定价pricemoney否否价格borrowSum文本否否借阅次数书籍借阅信息表,用于存储书籍的基本信息,其结构如下所示:表七tb_bookborrow(书籍借阅信息)表字段名数据类型主键允许空说明bookBarCode文本是否书籍代码条bookName文本否否书名borrowTime时间/日期否否借书时间returnTim
9、e时间/日期否否归还时间readerBarCode文本否否读者姓名isReturnBit否否是否归还4模块详细设计与实现4.1 登录模块主要用于用户登录.登陆界面的设计,登录运行界面图1如下所示:图1用户登陆界面关键代码如下:protectedvoid btnEntry_Click(object sender, EventArgs e) string userName = txtName.Text;string Pwd = txtPwd.Text;string sql = "select * from tb_user where userName='" + user
10、Name + "' and userPwd='" + Pwd + "'"string sql1 = "select * from tb_user1 where userName='" + userName + "' and userPwd='" + Pwd + "'"if (dataOperate.seleSQL(sql) > 0) Session"userName" = txtName.Text; Respons
11、e.Redirect("index.aspx"); elseif (dataOperate.seleSQL(sql1) > 0) Session"userName" = txtName.Text; Response.Redirect("dzindex.aspx"); else RegisterStartupScript("", "<script>alert('登录失败!')</script>"); 4.2 主页面模块主要是展示了图书的借阅信息,主要包
12、括用户和管理员的页面:模块的运行界面如图2,3所示:图2管理员注册界面图3 用户注册界面4.3书籍管理页面模块书籍管理功能主要是对书籍的类型和书籍信息进行添加、删除和修改。运行界面如图4,、5所示:图4书籍类型管理页面图5 书籍档案管理页面实现功能的主要代码如下:protectedvoid btnEntry_Click(object sender, EventArgs e) string userName = txtName.Text;string Pwd = txtPwd.Text;string sql = "select * from tb_user where userName
13、='" + userName + "' and userPwd='" + Pwd + "'"string sql1 = "select * from tb_user1 where userName='" + userName + "' and userPwd='" + Pwd + "'"if (dataOperate.seleSQL(sql) > 0) Session"userName" = tx
14、tName.Text; Response.Redirect("index.aspx"); elseif (dataOperate.seleSQL(sql1) > 0) Session"userName" = txtName.Text; Response.Redirect("dzindex.aspx"); else RegisterStartupScript("", "<script>alert('登录失败!')</script>"); 4.4读者管理
15、模块该模块是管理员用的权限。主要包括读者的类型管理和读者信息管理。读者类型浏览主要是将数据库的数据显示给管理员,更好的设置管理。读者信息管理主要有用户信息的添加、删除、修改的功能。运行界面如图6、7所示:图6读者类型浏览图7 读者档案管理关键代码如下:用户浏览:publicvoid bindReaderType() string sql = "select * from tb_readerType" gvReaderType.DataSource = dataOperate.getDataset(sql, "tb_readerType"); gvRead
16、erType.DataKeyNames = newstring "id" ; gvReaderType.DataBind(); protectedvoid gvReaderType_PageIndexChanging(object sender, GridViewPageEventArgs e) gvReaderType.PageIndex = e.NewPageIndex; gvReaderType.DataBind(); 用户信息管理:publicvoid bindReaderInfo() string sql = "select * from tb_read
17、erInfo as a inner join tb_readerType as b on a.readerType=b.id" gvReaderInfo.DataSource = dataOperate.getDataset(sql, "tb_readerInfo"); gvReaderInfo.DataKeyNames = newstring "readerBarCode" ; gvReaderInfo.DataBind(); protectedvoid gvReaderInfo_RowDeleting(object sender, Grid
18、ViewDeleteEventArgs e) string id = gvReaderInfo.DataKeyse.RowIndex.Value.ToString();string sql = "delete tb_readerInfo where readerBarCode='" + id + "'"dataOperate.execSQL(sql); bindReaderInfo(); 4.5书籍借还模块这是系统的主要功能,主要包括书籍借阅、书籍续借和书籍归还功能,书籍借阅主要是根据读者的条形码和书籍的条形码进行判断,根据其借阅的数量去
19、判断是否能借阅书籍;书籍的续借和书籍归还实现类似。书籍借阅主要是返回用户的信息和所要借阅的书籍信息。并根据可借数量去判断是否进行借阅。运行界面如图8所示:图8 书籍借阅运行界面关键代码如下:publicvoid bindReaderInfo() string readerBarCode = txtReaderBarCode.Text;string readerSql = "select * from tb_readerInfo where readerBarCode='" + readerBarCode + "'"SqlDataReade
20、r sdr = 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();string r
21、eaderTypeSql = "select * from tb_readerType where id=" + sdr"readerType".ToString();SqlDataReader typeSdr = dataOperate.getRow(readerTypeSql); typeSdr.Read(); txtReaderType.Text = typeSdr"type".ToString();int borrowNum = Convert.ToInt32(typeSdr"num");string se
22、lSql = "select count(*) from tb_bookBorrow where readerBarCode='" + readerBarCode + "' and isReturn ='0'"int alreadyNum = dataOperate.seleSQL(selSql); txtNum.Text = Convert.ToString(borrowNum - alreadyNum); isSum = 1; else RegisterStartupScript("", "
23、;<script>alert('读者条形码输入错误!')</script>"); protectedvoid btnBookSearch_Click(object sender, EventArgs e) if (isSum > 0) if (Convert.ToInt32(txtNum.Text.Trim() > 0) if (txtBookBarCode.Text.Trim() != "") string bookBarCode = txtBookBarCode.Text;string sql = "
24、;select * from tb_bookInfo where bookBarCode='" + bookBarCode + "'"DataSet ds = dataOperate.getDataset(sql, "tb_bookInfo");if (ds.Tables"tb_bookInfo".DefaultView.Count > 0) gvBookBorrow.DataSource = ds.Tables"tb_bookInfo".DefaultView; gvBookBor
25、row.DataKeyNames = newstring "bookBarCode" ; gvBookBorrow.DataBind(); else RegisterStartupScript("", "<script>alert('图书条形码错误!')</script>"); else RegisterStartupScript("", "<script>alert('图书条形码不能为空')</script>");
26、 else RegisterStartupScript("", "<script>alert('借阅数量已满!不可以再借阅')</script>"); else RegisterStartupScript("", "<script>alert('请先输入正确的读者条形码!')</script>"); 书籍续借主要是返回用户的信息和所要借阅的书籍信息。运行界面如图9所示:图9 书籍续借运行界面续借的关键代码:protectedvoid g
27、vBookRenewal_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) string bookBarCode = gvBookRenewal.DataKeyse.NewSelectedIndex.Value.ToString();string sql = "select * from tb_bookInfo as a inner join tb_bookType as b on a.bookType=typeID where a.bookBarCode='" + bookBarCode
28、 + "'"SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); int borrowDay = Convert.ToInt32(sdr"borrowDay"); string returnTime = DateTime.Now.Date.AddDays(borrowDay).ToShortDateString(); string updateSql = "update tb_bookBorrow set returnTime='" + returnTime
29、+ "' where bookBarCode='" + bookBarCode + "'and readerBarCode='" + txtReaderBarCode.Text + "' and isReturn='0' "if (dataOperate.execSQL(updateSql) RegisterStartupScript("", "<script>alert('续借成功!')</script>&q
30、uot;);string selSql = "select * from tb_bookBorrow where bookBarCode='" + bookBarCode + "'and readerBarCode='" + txtReaderBarCode.Text + "'and isReturn='0'" bindGridView(selSql); else RegisterStartupScript("", "<script>alert(
31、'续借失败!')</script>"); 书籍归还主要是返回用户的信息和所要借阅的书籍信息。并根据归还之后,借阅数量会增加。运行界面如图10所示:图10 书籍续借运行界面关键代码:protectedvoid gvBookReturn_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) string bookBarCode = gvBookReturn.DataKeyse.NewSelectedIndex.Value.ToString();string updateSql = &qu
32、ot;update tb_bookBorrow set isReturn='1' where bookBarCode='" + bookBarCode + "'and readerBarCode='" + txtReaderBarCode.Text + "'"if (dataOperate.execSQL(updateSql) RegisterStartupScript("", "<script>alert('归还成功!')</scr
33、ipt>"); gvBookReturn.DataSource = null; gvBookReturn.DataBind(); txtBookBarCode.Text = null; else RegisterStartupScript("", "<script>alert('归还失败!')</script>"); 4.6系统查询模块系统查询模块可以查询各类书籍详细信息,以及根据书籍的借阅信息查询。其运行界面如图11所示:图11书籍信息查询界面其中关键代码如下:protectedvoid gvBo
34、okInfo_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) string bookType = e.Row.Cells2.Text.ToString();string typeSql = "select * from tb_bookType where TypeID=" + bookType;SqlDataReader typeSdr = dataOperate.getRow(typeSql); typeSdr.Read(
35、); e.Row.Cells2.Text = typeSdr"typeName".ToString(); 书籍借阅查询,返回书籍信息及借阅的次数。其运行界面如图12所示:图11 书籍借阅信息查询界面其中关键代码如下:protectedvoid btnSearch_Click(object sender, EventArgs e) string condition = ddlCondition.SelectedValue;string key = txtKey.Text; sql = "select * from tb_bookBorrow where "
36、 + condition + " like '%" + key + "%'" bindBookBorrow(sql, getisReturn(); 4.7系统设置模块主要是用于管理员度用户的增加和删除;运行界面如图12所示:图12 用户管理界面添加和删除的关键代码如下:publicvoid bindUerManage() string sql = "select * from tb_user1" gvAdmSet.DataSource = dataOperate.getDataset(sql, "tb_use
37、r1"); gvAdmSet.DataKeyNames=newstring "userName" gvAdmSet.DataBind(); protectedvoid gvAdmSet_RowDeleting(object sender, GridViewDeleteEventArgs e) string userName = this.gvAdmSet.DataKeyse.RowIndex.Value.ToString(); string sql = "delete from tb_user where userName='" + u
38、serName + "'"dataOperate.execSQL(sql); bindUerManage(); 弹出用户窗口的关键代码如下:if (dataOperate.execSQL(sql) RegisterStartupScript("", "<script>alert('添加成功!');window.opener.location.href=window.opener.location='userManage.aspx'window.close();</script>&q
39、uot;); else RegisterStartupScript("", "<script>alert('设置失败!')</script>"); 4.8更改口令模块主要是用于用户的密码修改,运行的界面如图 13所示:图13用户口令修改运行界面关键代码如下:protectedvoid btnSave_Click(object sender, EventArgs e) string sql = "select * from tb_user where userName='" + Session"userName".ToString() + "'"SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read();if (txtOldPass.Text = sdr"userPwd".ToString() string upSql = "update tb_user set userPwd='" + tx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重点环节应急管
- 沈阳理工大学《含能运载材料》2023-2024学年第一学期期末试卷
- 沈阳理工大学《操作系统》2022-2023学年期末试卷
- 沈阳理工大学《环境工程项目管理》2023-2024学年第一学期期末试卷
- 海南小产权房买卖合同
- 2025届高考数学统考二轮复习第二部分专题5解析几何第1讲直线与圆教师用书教案理1
- 2024部门经理入职发言部门经理入职合同范本
- 2024职工住房抵押借款合同范本
- 2024网络安全服务合同
- 2024水库承包合同范本范文
- 报告医疗器械不良事件
- 婴幼儿托育服务与管理的职业生涯规划职业目标自我分析职业定位实施计划
- 物联网安全分析报告
- 黄芪对慢性疲劳综合征康复中的临床应用及相关机制探究
- 物业管理工作量化细则
- 2024市场营销学教师资格证试讲授课教案
- 《高热惊厥的急救》课件
- 语文教学之学理
- 医疗卫生行业医疗服务规范培训
- 渠道下沉活动方案
- 小学足球课题结题报告
评论
0/150
提交评论