SQL数据库图书管理系统.docx
《SQL数据库图书管理系统.docx》由会员分享,可在线阅读,更多相关《SQL数据库图书管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
SQL数据库图书管理系统
SQL-数据库---图书管理系统
D
第一章:
实验指导书
《数据库原理及应用》课程设计指导书
一、课设目的
通过设计一个管理信息系统,考察学生运用所学知识的能力,针对相关的课程:
计算机语言、数据库原理等的检验;还有助于提高学生的实践能力、综合应用能力,为毕业设计打下良好的基础。
二、课设要求
1、题目要求
本次课程设计的题目是《图书借阅管理系统的设计与实现》。
2、设计结果要求
(1)每人在指定时间内独立完成课程设计题目,最后一次上机开始检查个人程序,被检查人要能详细解释自己程序功能的实现方法;
(2)统一提交课程设计报告,按照需求分析、概要设计、详细设计、软件实现、软件测试、课程设计总结的框架撰写课程设计报告;报告附录:
源程序清单(可节选主要代码);
(3)完整的数据库文件、代码、课程设计报告电子版压缩打包,并以学号姓名命名(如:
B100601101班若愚.rar),数据库文件、源码和课程设计报告电子版收齐后以班为单位刻盘;
(4)课程设计报告打印版、光盘以班为单位在最后一天上机时提交;光盘每个班交一张.
4、环境
(1)机房
在规定的时间内,必须在指定的机房进行课程设计,其余时间自由上机设计。
(2)硬件
要求提供具有网络功能的PC机。
(3)软件
操作系统:
Windowsxp;
语言:
任选一种面向对象的程序设计语言(如:
C#.net,VB.net,VB,VC等);
工具:
:
文字处理—WORD,表格处理—EXCEL,图形处理--MicrosoftVisio等,
数据库:
SQLServer2005。
三、参考资料
为了让同学们能顺利地开展课程设计,对所做的系统有更多的了解与掌握,下面给出有关的参考文献,以供同学们选择。
[1]杨学全主编,SQLServer实例教程(第二版)[M].北京:
电子工业出版社.2007年9月
[2]于国防,李剑.C#语言Windows程序设计[M].北京:
清华大学出版社.2010年9月
[3]史济民,顾春华,李昌武,苑荣编著.软件工程——原理、方法与应用[M].北京:
高等教育出版社.2004年1月.
[4]张海藩编著.软件工程导论[M].北京:
清华大学出版社.2005年10月.
[5]张奇,李律松,卫建伟等编著.VisualC#数据库项目案例导航[M].北京:
清华大学出版社.2005年6月.
[6]邹建峰等,C#企业级开发案例精解[M],北京:
人民邮电出版社.2006年1月.
[7]KoureshArdestani著,张哲峰译.高效掌握ADO.NET.[M]北京:
清华大学出版社.2003年3月.
第二章:
需求分析
一实验目的
(1)培养综合应用MicrosoftVisualStudio2010和SQL进行应用程序设计和解决实际问题的能力;
(2)加深对MicrosoftVisualStudio2010和SQL编程环境和编程方法的理解;
(3)发挥各人的想像能力和分析能力,拓展思维空间;
(4)掌握应用程序设计的基本方法;
(5)巩固已经学到的编程技术,学会在编程中学习编程。
二实验要求
(1)图书信息的录入和删除,出版社信息管理等;
(2)图书的检索(包括按作者姓名、出版时间、出版社名称、图书类别、
书名、关键宇等);
(3)图书的租借(包括图书借书登记、还书登记);
(4)用户管理系统(包括用户注册,用户密码修改等)
(5)系统设置(主要是对系统功能增加删除)
三实验需求分析
1.目标分析
登陆界面
管理员界面
读者界面
1用户登录退出
2修改密码
3图书管理(包括书籍借出,还入,修改,删除)
1用户注册退出
2查找图书
3用户还书
4修改密码
2概念结构设计
通过需求分析阶段的分析结果,本系统所要设计的ER图如下;
3.设计环境:
操作系统:
WindowsXP;
DBMS:
SQLServer2005;
开发工具:
ASP.NET。
管理员(管理员账号,管理员密码)
图书(图书代码,图书名称,图书类型,出版社,定价,作者,库存,)
读者(读者编号,密码,姓名,性别,专业,联系方式)
借还书(读者编号,图书代码,借书日期,还书日期)
注:
“____”为表中的主键。
改关系模型满足基本的三范式。
因为每个非主属性既不部分依赖也不传递依赖于码。
第三章:
实验内容分析
一:
创建数据库
创建数据库,数据库名user,在数据库里建表1~表3,表1图3.1管理员表,表2图3.2图书表,表3图3.3读者表。
图表如下:
图3.1管理员表
图3.2图书表
图3.3读者表
功能分析:
本系统的主要文件以及所实现功能的对照表如下:
文件名
功能
Login.aspx
登陆界面实现
admain
存放管理员实现功能的文件夹
admain\add.aspx
新书入库
admain\admain.aspx
管理员主界面
admain\back.aspx
读者还书
admain\borrow.aspx
读者借书
admain\duzhe.aspx
查阅所有读者信息
admain\gaishu.aspx
图书校正
admain\shanbook.aspx
旧书淘汰
admain\xiugai.aspx
修改管理员登录密码
admain\zengdu.aspx
新读者注册
image
存放系统中所用的图片
reader
存放实现读者功能的文件夹
reader\chaziji.aspx
查看读者自己借阅信息
reader\look.aspx
读者按不同条件(作者,图书代码,出版社,图书类型)查询图书
reader\reader.aspx
读者主界面
reader\xiugai.aspx
读者密码修改
二:
源代码及系统截图
在书数据库连接部分,加上
在每个文件引用:
usingSystem.Data.SqlClient;
3.4图书管理系统登录(Login.aspx)
通过用户的输入用户名,密码实现登陆。
主要代码如下:
namespacebookmis
{publicpartialclassLogin:
Form
{publicLogin()
{InitializeComponent();
}privatevoidlabel3_Click(objectsender,EventArgse)
{
}privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
privatevoidbtok_Click(objectsender,EventArgse)
{
stringstrcon="DataSource=BXAIT-PC;InitialCatalog=BookStore;IntegratedSecurity=True";
SqlConnectionsqlCon=newSqlConnection(strcon);
sqlCon.Open();
stringsql="select*fromloginwhereloginname=@loginnameandloginpassword=@password";
SqlCommandcmd=newSqlCommand(sql,sqlCon);
cmd.Parameters.Add("@loginname",SqlDbType.NChar,20);
cmd.Parameters.Add("@password",SqlDbType.NChar,20);
cmd.Parameters["@loginname"].Value=username.Text;
cmd.Parameters["@password"].Value=password.Text;
//创ä¡ä建¡§SqlDataReader,ê?
必À?
须?
调Ì¡Â用®?
SqlCommand对?
象¨®的Ì?
ExecuteReader方¤?
法¤¡§,ê?
而?
不?
要°a直¡À接¨®使º1用®?
构1造¨¬函¡¥数ºy。
¡ê
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
dr.Close();
Formmainformmain=newFormmain();
formmain.Show();
this.Hide();
}
else
{
MessageBox.Show("密¨¹码?
错䨪误¨®,请?
重?
新?
输º?
入¨?
!
");
//name.Clear();
password.Clear();
}
sqlCon.Close();
}privatevoidbtcancel_Click(objectsender,EventArgse)
{
Application.Exit();
}privatevoidusername_TextChanged(objectsender,EventArgse)
{
}
privatevoidLogin_Load(objectsender,EventArgse)
{
}
}
}
3.5用户注册
用户注册主要代码:
namespacebookmis
{
publicpartialclasslogon:
Form
{
publiclogon()
{
InitializeComponent();
}
privatevoidbtnlogon_Click(objectsender,EventArgse)
{
SqlConnectionsqlcon=newSqlConnection("datasource=localhost;Initialcatalog=Bookstore;Integratedsecurity=sspi;");
stringstr="insertintodbo.loginvalues(@loginname,@loginpassword)";
sqlcon.Open();
SqlCommandcmd=newSqlCommand(str,sqlcon);
cmd.Parameters.Add("@loginname",SqlDbType.NChar,20);
cmd.Parameters.Add("@loginpassword",SqlDbType.NChar,20);
cmd.Parameters["@loginname"].Value=tBoxuser.Text;
cmd.Parameters["@loginpassword"].Value=tBoxpassword.Text;
cmd.ExecuteNonQuery();
sqlcon.Close();
MessageBox.Show("注Á¡é册¨¢成¨¦功|!
");
this.tBoxuser.Clear();
this.tBoxpassword.Clear();
}
}
}
3.6用户修改密码
修改密码主要代码:
namespacebookmis
{
publicpartialclassxgmm:
Form
{
publicxgmm()
{
InitializeComponent();
}
privatevoidbtnxgmm_Click(objectsender,EventArgse)
{
stringstrcon="DataSource=BXAIT-PC;InitialCatalog=BookStore;IntegratedSecurity=True";
SqlConnectionsqlCon=newSqlConnection(strcon);
sqlCon.Open();
stringsql="select*fromdbo.loginwhereloginname=@loginname";
SqlCommandcmd=newSqlCommand(sql,sqlCon);
cmd.Parameters.Add("@loginname",SqlDbType.NChar,20);
cmd.Parameters["@loginname"].Value=tBoxuser.Text;
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
dr.Close();
stringxgmm="updatedbo.loginsetloginpassword=@loginpasswordwhereloginname=@loginname";
SqlCommandcmd2=newSqlCommand(xgmm,sqlCon);
cmd2.Parameters.Add("@loginpassword",SqlDbType.NChar,20);
cmd2.Parameters.Add("@loginname",SqlDbType.NChar,20);
cmd2.Parameters["@loginname"].Value=tBoxuser.Text;
cmd2.Parameters["@loginpassword"].Value=tBoxpassword.Text;
cmd2.ExecuteNonQuery();
MessageBox.Show("修T改?
成¨¦功|!
");
}
else
{
MessageBox.Show("无T此ä?
用®?
户¡ì,请?
重?
新?
输º?
入¨?
!
");
tBoxpassword.Clear();
}
sqlCon.Close();
}
}
}
3.7图书查询系统
查询图书主要代码:
namespacebookmis
{
publicpartialclassFormmain:
Form
{publicFormmain()
{InitializeComponent();
}privatevoid增?
加¨®ToolStripMenuItem_Click(objectsender,EventArgse)
{
Addbookaddbook=newAddbook();
addbook.Show();}
privatevoid退ª?
出?
ToolStripMenuItem_Click(objectsender,EventArgse)
{Application.Exit();
}
privatevoid修T改?
ToolStripMenuItem_Click(objectsender,EventArgse)
{
UpdateUpdate=newUpdate();
Update.Show();
}privatevoid查¨¦询¡¥ToolStripMenuItem_Click(objectsender,EventArgse)
{
Selectbookselectbook=newSelectbook();
selectbook.Show();
}
privatevoid借¨¨书º¨¦ToolStripMenuItem_Click(objectsender,EventArgse)
{
BorrowBorrow=newBorrow();
Borrow.Show();
}
privatevoid注Á¡é册¨¢ToolStripMenuItem_Click(objectsender,EventArgse)
{
logonlogon=newlogon();
logon.Show();
}
privatevoid修T改?
密¨¹码?
ToolStripMenuItem_Click(objectsender,EventArgse)
{
xgmmxgmm=newxgmm();
xgmm.Show();
}
privatevoid还1书º¨¦ToolStripMenuItem_Click(objectsender,EventArgse)
{
huanhuan=newhuan();
huan.Show();
}
privatevoid删¦?
除yToolStripMenuItem_Click(objectsender,EventArgse)
{
DeletebookDeletebook=newDeletebook();
Deletebook.Show();
}
}
}
3.8图书增加界面
主要代码:
namespacebookmis
{
publicpartialclassAddbook:
Form
{
publicAddbook()
{
InitializeComponent();
}
privatevoidlabel2_Click(objectsender,EventArgse)
{
}
privatevoidlabel5_Click(objectsender,EventArgse)
{
}
privatevoidtextBox4_TextChanged(objectsender,EventArgse)
{}
privatevoidlabel4_Click(objectsender,EventArgse)
{}
privatevoidtextBox3_TextChanged(objectsender,EventArgse)
{}
privatevoidlabel3_Click(objectsender,EventArgse)
{}
privatevoidtextBox2_TextChanged(objectsender,EventArgse)
{}
privatevoidtextBox5_TextChanged(objectsender,EventArgse)
{}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{}
privatevoidlabel1_Click(objectsender,EventArgse)
{}
privatevoidbtnadd_Click(objectsender,EventArgse)
{
SqlConnectionsqlcon=newSqlConnection("datasource=localhost;Initialcatalog=Bookstore;Integratedsecurity=sspi;");
stringstr="insertintodbo.bookvalues(@bookno,@bookname,@bookauthor,@bookpublisher,@benshu)";
sqlcon.Open();
//SqlCommandcmd=newSqlCommand("insertintodbo.book(bnum,bname,bauthor,bpublic,benshu)values('"+bookno.Text+"','"+bookname.Text+"','"+bookauthor.Text+"','"+bookpublisher.Text+"','"+booknum.Text+"')",sqlcon);
SqlCommandcmd=newSqlCommand(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.Parameters["@bookno"].Value=bookno.Text;
cmd.Parameters["@bookname"].Value=bookname.Text;
cmd.Parameters["@bookauthor"].Value=bookauthor.Text;
cmd.Parameters["@bookpublisher"].Value=bookpublisher.Text;
cmd.Parameters["@benshu"].Value=booknum.Text;
cmd.ExecuteNonQuery();
sqlcon.Close();
MessageBox.Show("添¬¨ª加¨®成¨¦功|!
");
this.bookno.Clear();
this.bookname.Clear();
this.bookauthor.Clear();
this.bookpublisher.Clear();
this.booknum.Clear();
}
privatevoidbtcancel_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidAddbook_Load(objectsender,EventArgse)
{
}
}
}
3.9图书修改界面