1、SQL Server数据库课程设计题目:图书借阅管理系统设计和实现院、 系: 计算机信息和技术系 学科专业: 计算机科学和技术 学 号: B10060111 学生姓名: 指导老师: 高峰 06月前 言“图书是人类进步阶梯,是人类精神财富,是人类终生伴侣。”图书作为教学和学习必不可少工具,它作用举足轻重,它几乎存在和每一个学校之中,而相当一部分设施条件不好资金缺乏学校甚至对于图书管理,采取传统纸质方法去完成,这么就造成了很多很多问题,比如:不能很好对读者借书还书管理,当读者需要还书时候还要查找以前纸质文档来找到对应统计,很麻烦;时间长话图书馆资料一旦丢失极难再恢复,给整个工作带来很大困难;读者也
2、只有经过去学校图书馆才能一本一本挨个寻求才能找到自己想要找到书本等等一系列问题。针对以上情况开发一个图书管理系统,来实现管理员和读者两个角色管理使用,对于读者,能够不用去图书馆直接在自己电脑上按多个条件轻松查找自己想要找书本信息,能够很轻松看到自己借阅信息来方便读者立即归还对应信息,能够很轻易看到读者对在馆书籍借阅排行问题,来了解图书热度和为了个人安全来对密码管理。而对于图书管理员,她实现功效就相当复杂了,首先它能够增加读者信息,能够对新书进行入库,删除旧书,这里所说旧书是没有些人借阅书,当有读者节省时候,管理员就不能删除图书信息了,能够查询全部读者信息,能够对图书进行修改校正,和处理自己登陆
3、安全性问题。最关键是能够进行对图书借阅和归还,同时改变图书库存和被借阅次数信息。本图书管理系统能够愈加人性化满足小型图书馆日常借阅问题,达成一个很理想智能管理目标。“图书是人类进步阶梯,是人类精神财富,是人类终生伴侣。”图书作为教学和学习必不可少工具,它作用举足轻重,它几乎存在和每一个学校之中,而相当一部分设施条件不好资金缺乏学校甚至对于图书管理第一章:试验指导书数据库原理及应用课程设计指导书一、课设目标经过设计一个管理信息系统,考察学生利用所学知识能力,针对相关课程:计算机语言、数据库原理等检验;还有利于提升学生实践能力、综合应用能力,为毕业设计打下良好基础。二、课设要求1、题目要求此次课程
4、设计题目是图书借阅管理系统设计和实现。2、设计结果要求(1)每人在指定时间内独立完成课程设计题目,最终一次上机开始检验个人程序,被检验人要能具体解释自己程序功效实现方法;(2)统一提交课程设计汇报,根据需求分析、概要设计、具体设计、软件实现、软件测试、课程设计总结框架撰写课程设计汇报;汇报附录:源程序清单(可节选关键代码);(3)完整数据库文件、代码、课程设计汇报电子版压缩打包,并以学号姓名命名(如:B班若愚.rar),数据库文件、源码和课程设计汇报电子版收齐后以班为单位刻盘;(4)课程设计汇报打印版、光盘以班为单位在最终一天上机时提交;光盘每个班交一张.4、环境(1) 机房在要求时间内,必需
5、在指定机房进行课程设计,其它时间自由上机设计。(2) 硬件要求提供含有网络功效PC机。(3) 软件操作系统: Windows xp;语言:任选一个面向对象程序设计语言(如: C#.net,VB.net ,VB, VC等);工具::文字处理WORD, 表格处理EXCEL, 图形处理-Microsoft Visio等,数据库:SQL Server 。三、参考资料为了让同学们能顺利地开展课程设计, 对所做系统有更多了解和掌握, 下面给出相关参考文件, 以供同学们选择。1 杨学全 主编, SQL Server实例教程(第二版)M. 北京: 电子工业出版社. 9月2 于国防,李剑.C#语言Windows
6、程序设计M.北京:清华大学出版社.9月3 史济民, 顾春华, 李昌武, 苑荣 编著. 软件工程原理、方法和应用M. 北京: 高等教育出版社. 1月. 4 张海藩 编著. 软件工程导论M. 北京: 清华大学出版社. 10月. 5 张奇, 李律松, 卫建伟 等编著. Visual C#数据库项目案例导航M. 北京: 清华大学出版社. 6月. 6 邹建峰等,C#企业级开发案例精解M,北京:人民邮电出版社.1月.7 Kouresh Ardestani著,张哲峰 译.高效掌握ADO.NET. M北京:清华大学出版社.3月.第二章:需求分析一 试验目标(1)培养综合应用Microsoft Visual S
7、tudio 和SQL进行应用程序设计和处理实际问题能力;(2)加深对Microsoft Visual Studio 和SQL编程环境和编程方法了解;(3)发挥各人想像能力和分析能力,拓展思维空间;(4)掌握应用程序设计基础方法;(5)巩固已经学到编程技术,学会在编程中学习编程。二 试验要求(1)图书信息录入和删除,出版社信息管理等;(2)图书检索(包含按作者姓名、出版时间、出版社名称、图书类别、书名、关键宇等);(3)图书租借(包含图书借书登记、还书登记);(4)用户管理系统(包含用户注册,用户密码修改等)(5)系统设置(关键是对系统功效增加删除)三 试验需求分析1.目标分析登陆界面管理员界面
8、读者界面 用户登录 退出 修改密码 图书管理(包含书籍借出,还入,修改,删除) 用户注册 退出 查找图书 用户还书 修改密码 2 概念结构设计经过需求分析阶段分析结果,本系统所要设计ER图以下;3. 设计环境:操作系统:Windows XP;DBMS:SQL Server ;开发工具:ASP.NET。管理员(管理员账号,管理员密码)图书 (图书代码,图书名称,图书类型,出版社,定价,作者,库存,)读者 ( 读者编号,密码,姓名,性别,专业,联络方法)借还书(读者编号, 图书代码,借书日期,还书日期)注:“_”为表中主键。改关系模型满足基础三范式。因为每个非主属性既不部分依靠也不传输依靠于码。第
9、三章:试验内容分析一:创建数据库 创建数据库,数据库名user,在数据库里建表1表3,表1图3.1 管理员表,表2图3.2 图书表 ,表3图3.3读者表。图表以下:图3.1 管理员表 图3.2 图书表 图3.3读者表功效分析:本系统关键文件和所实现功效对照表以下:文件名功效Login.aspx登陆界面实现admain存放管理员实现功效文件夹admainadd.aspx新书入库admainadmain.aspx管理员主界面admainback.aspx读者还书admainborrow.aspx读者借书admainduzhe.aspx查阅全部读者信息admaingaishu.aspx图书校正adm
10、ainshanbook.aspx旧书淘汰admainxiugai.aspx修改管理员登录密码admainzengdu.aspx新读者注册image存放系统中所用图片reader存放实现读者功效文件夹readerchaziji.aspx查看读者自己借阅信息readerlook.aspx读者按不一样条件(作者,图书代码,出版社,图书类型)查询图书readerreader.aspx读者主界面readerxiugai.aspx读者密码修改二:源代码及系统截图 在书数据库连接部分,加上在每个文件引用:using System.Data.SqlClient; 3.4 图书管理系统登录(Login.aspx
11、)经过用户输入用户名,密码实现登陆。关键代码以下:namespace bookmis public partial class Login : Form public Login() InitializeComponent(); private void label3_Click(object sender, EventArgs e) private void textBox1_TextChanged(object sender, EventArgs e) private void btok_Click(object sender, EventArgs e) string strcon = D
12、ata Source=BXAIT-PC;Initial Catalog=BookStore;Integrated Security=True; SqlConnection sqlCon=new SqlConnection (strcon ); sqlCon.Open(); string sql = select * from login where loginname=loginname and loginpassword=password; SqlCommand cmd = new SqlCommand(sql,sqlCon ); cmd.Parameters.Add (loginname,
13、SqlDbType.NChar, 20); cmd.Parameters.Add(password, SqlDbType.NChar, 20); cmd.Parametersloginname.Value = username.Text; cmd.Parameterspassword.Value = password.Text; /创建 SqlDataReader,?必?须?调用? SqlCommand 对?象? ExecuteReader 方?法,?而?不?要a直接使1用?构1造函数y。 SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read(
14、) dr.Close(); Formmain formmain = new Formmain(); formmain.Show(); this.Hide(); else MessageBox.Show(密码?错误,请?重?新?输?入?!); /name.Clear(); password.Clear(); sqlCon.Close (); private void btcancel_Click(object sender, EventArgs e) Application.Exit(); private void username_TextChanged(object sender, Even
15、tArgs e) private void Login_Load(object sender, EventArgs e) 3.5 用户注册 用户注册关键代码: namespace bookmis public partial class logon : Form public logon() InitializeComponent(); private void btnlogon_Click(object sender, EventArgs e) SqlConnection sqlcon = new SqlConnection(data source=localhost;Initial cat
16、alog=Bookstore;Integrated security=sspi;); string str = insert into dbo.login values(loginname,loginpassword); sqlcon.Open(); SqlCommand cmd = new SqlCommand(str, sqlcon); cmd.Parameters.Add(loginname, SqlDbType.NChar, 20); cmd.Parameters.Add(loginpassword, SqlDbType.NChar, 20); cmd.Parametersloginn
17、ame.Value = tBoxuser.Text; cmd.Parametersloginpassword.Value = tBoxpassword.Text; cmd.ExecuteNonQuery(); sqlcon.Close(); MessageBox.Show(注册成功|!); this.tBoxuser.Clear(); this.tBoxpassword.Clear(); 3.6 用户修改密码 修改密码关键代码:namespace bookmis public partial class xgmm : Form public xgmm() InitializeComponent
18、(); private void btnxgmm_Click(object sender, EventArgs e) string strcon = Data Source=BXAIT-PC;Initial Catalog=BookStore;Integrated Security=True; SqlConnection sqlCon = new SqlConnection(strcon); sqlCon.Open(); string sql = select * from dbo.login where loginname=loginname; SqlCommand cmd = new Sq
19、lCommand(sql, sqlCon); cmd.Parameters.Add(loginname, SqlDbType.NChar, 20); cmd.Parametersloginname.Value = tBoxuser.Text; SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() dr.Close(); string xgmm = update dbo.login set loginpassword = loginpassword where loginname=loginname; SqlCommand cmd2 = ne
20、w SqlCommand(xgmm, sqlCon); cmd2.Parameters.Add(loginpassword, SqlDbType.NChar, 20); cmd2.Parameters.Add(loginname, SqlDbType.NChar, 20); cmd2.Parametersloginname.Value = tBoxuser.Text; cmd2.Parametersloginpassword.Value = tBoxpassword.Text; cmd2.ExecuteNonQuery(); MessageBox.Show(修T改?成功|!); else Me
21、ssageBox.Show(无T此?用?户,请?重?新?输?入?!); tBoxpassword.Clear(); sqlCon.Close(); 3.7 图书查询系统 查询图书关键代码: namespace bookmis public partial class Formmain : Form public Formmain() InitializeComponent(); private void 增?加ToolStripMenuItem_Click(object sender, EventArgs e) Addbook addbook = new Addbook(); addbook.
22、Show();private void 退?出?ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void 修T改?ToolStripMenuItem_Click(object sender, EventArgs e) Update Update = new Update(); Update.Show(); private void 查询ToolStripMenuItem_Click(object sender, EventArgs e) Selectbook selectbook =
23、 new Selectbook(); selectbook.Show(); private void 借书ToolStripMenuItem_Click(object sender, EventArgs e) Borrow Borrow = new Borrow(); Borrow.Show(); private void 注册ToolStripMenuItem_Click(object sender, EventArgs e) logon logon = new logon(); logon.Show(); private void 修T改?密码?ToolStripMenuItem_Clic
24、k(object sender, EventArgs e) xgmm xgmm = new xgmm(); xgmm.Show(); private void 还1书ToolStripMenuItem_Click(object sender, EventArgs e) huan huan = new huan(); huan.Show(); private void 删?除yToolStripMenuItem_Click(object sender, EventArgs e) Deletebook Deletebook = new Deletebook(); Deletebook.Show()
25、; 3.8 图书增加界面 关键代码:namespace bookmis public partial class Addbook : Form public Addbook() InitializeComponent(); private void label2_Click(object sender, EventArgs e) private void label5_Click(object sender, EventArgs e) private void textBox4_TextChanged(object sender, EventArgs e) private void label
26、4_Click(object sender, EventArgs e) private void textBox3_TextChanged(object sender, EventArgs e) private void label3_Click(object sender, EventArgs e) private void textBox2_TextChanged(object sender, EventArgs e) private void textBox5_TextChanged(object sender, EventArgs e) private void textBox1_Te
27、xtChanged(object sender, EventArgs e) private void label1_Click(object sender, EventArgs e) private void btnadd_Click(object sender, EventArgs e) SqlConnection sqlcon = new SqlConnection(data source=localhost;Initial catalog=Bookstore;Integrated security=sspi;); string str = insert into dbo.book val
28、ues(bookno,bookname,bookauthor,bookpublisher,benshu); sqlcon.Open(); / SqlCommand cmd = new SqlCommand(insert into dbo.book(bnum,bname,bauthor,bpublic,benshu) values( + bookno.Text + , + bookname.Text + , + bookauthor.Text + , + bookpublisher.Text + , + booknum.Text + ), sqlcon); SqlCommand cmd=new
29、SqlCommand (str,sqlcon ); cmd.Parameters.Add (bookno,SqlDbType.NChar,20); cmd.Parameters.Add (bookname,SqlDbType.NChar,20); cmd.Parameters.Add (bookauthor,SqlDbType.NChar,20); cmd.Parameters.Add (bookpublisher,SqlDbType.NChar,20); cmd.Parameters.Add (benshu,SqlDbType.TinyInt); cmd.Parametersbookno.V
30、alue = bookno.Text; cmd.Parametersbookname.Value = bookname.Text; cmd.Parametersbookauthor.Value = bookauthor.Text; cmd.Parametersbookpublisher.Value = bookpublisher.Text; cmd.Parametersbenshu.Value = booknum.Text; cmd.ExecuteNonQuery(); sqlcon.Close(); MessageBox.Show(添加成功|!); this.bookno.Clear();
31、this.bookname.Clear(); this.bookauthor.Clear(); this.bookpublisher.Clear(); this.booknum.Clear(); private void btcancel_Click(object sender, EventArgs e) this.Close(); private void Addbook_Load(object sender, EventArgs e) 3.9 图书修改界面 图书修改关键代码:namespace bookmis public partial class Update : Form publi
32、c Update() InitializeComponent(); private void btcancel_Click(object sender, EventArgs e) this.Close(); private void btnupdate_Click(object sender, EventArgs e) SqlConnection sqlcon = new SqlConnection(data source=localhost;Initial catalog=Bookstore;Integrated security=sspi;); string str = update db
33、o.book set bname=bookname,bauthor=bookauthor,bpublic=bookpublisher,benshu=benshu where bno=bno; sqlcon.Open(); SqlCommand cmd = new SqlCommand(str, sqlcon); cmd.Parameters.Add(bookname, SqlDbType.NChar, 20); cmd.Parameters.Add(bookauthor, SqlDbType.NChar, 20); cmd.Parameters.Add(bookpublisher, SqlDb
34、Type.NChar, 20); cmd.Parameters.Add(bno, SqlDbType.NChar, 20); cmd.Parameters.Add(benshu, SqlDbType.NChar, 20); cmd.Parametersbenshu.Value = booknum.Text; cmd.Parametersbno.Value = bookno.Text; cmd.Parametersbookname.Value = bookname.Text; cmd.Parametersbookauthor.Value = bookauthor.Text; cmd.Parame
35、tersbookpublisher.Value = bookpublisher.Text; cmd.ExecuteNonQuery(); sqlcon.Close(); MessageBox.Show(修T改?成功|!); this.bookno.Clear(); this.bookname.Clear(); this.bookauthor.Clear(); this.bookpublisher.Clear(); this.booknum.Clear(); private void Update_Load(object sender, EventArgs e) namespace bookmi
36、s public partial class Update : Form public Update() InitializeComponent(); private void btcancel_Click(object sender, EventArgs e) this.Close(); private void btnupdate_Click(object sender, EventArgs e) SqlConnection sqlcon = new SqlConnection(data source=localhost;Initial catalog=Bookstore;Integrated security=sspi;); string str = update dbo.book set bname=bookname,bauthor=bookauth