数据库图书管理系统实训报告.docx
《数据库图书管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统实训报告.docx(18页珍藏版)》请在冰豆网上搜索。
数据库图书管理系统实训报告
《数据库原理》集中实训报告
2014年6月17日
系统名称:
专业:
班级:
学号:
姓名:
指导教师:
1、前言1
1.1课题简介1
1、开发系统的名称:
1
2、实训目的:
1
3、实训意义:
1
4、实训容:
1
5、实训预期实现效果:
1
1.2方案及其论证1
2、需求分析1
2.1可行性分析2
2.2系统功能分析2
1、系统功能结构图2
2、系统功能分析2
3、概念模型设计3
E-R图3
4、逻辑模型设计4
关系模型4
5、详细设计4
5.1建立数据库代码4
5.2建立前台界面以及其代码7
6、总结14
7、参考文献15
1、前言
1.1课题简介
1、开发系统的名称:
图书管理系统
2、实训目的:
通过本次实训,应熟悉并掌握数据库系统开发的基本方法,对理论教学中所讲的知识和基本概念有更进一步的理解,培养和提高实践操作能力,为今后从事计算机数据库系统的研究、开发、应用提供必要的准备。
3、实训意义:
利用这次的实训,提高学生对理论知识的理解能力和实践技能。
熟练掌握SQL语句的使用,掌握分析和设计数据库的方法,会结合高级程序设计语言完成数据库系统的实现过程,培养学生的自学能力和创新能力。
4、实训容:
1需求分析:
可行性分析、系统功能设计
2概念模型设计
3逻辑结构设计:
关系模式、规处理、视图设计
4详细设计:
建立前台界面
5调试并运行
5、实训预期实现效果:
通过此次实训,学生能够熟练的建立数据库,并在VS开发环境下编写管理系统。
编写成功的图书管理系统,能进行图书的查询、借阅、归还等简单的基本操作。
1.2方案及其论证
语言:
SQL+VB
运行环境:
MicrosoftVisualStdio2010
2、需求分析
2.1可行性分析
目前,我们已经大概学习了SQLServer,对网络技术也有一定的了解,而且图书管理系统已经得到了大量的运用,有许多可供参考的成功系统。
而且,网上有许多关于VisualStudioC#编程的资料和SQLServer方面的资料。
从技术角度考虑,此系统开发可行。
2.2系统功能分析
2、系统功能分析
图书管理系统的流程是用户先选择自己的身份,是管理员或者是学生。
如果是学生,则进入学生登录界面,登陆成功后,学生所能做的操作就是查询图书的信息。
如果是管
理员,则进入管理员登陆界面,登录成功后,能进行查询,图书借阅、归还等操作,通过此操作删改学生借还图书的信息。
3、概念模型设计
E-R图
借阅量
4、逻辑模型设计
关系模型
学生(学号,,性别,班级,联系)
图书(书号,书名,作者,定价,数量,分类号,名称)
管理员(编号,密码,,联系)
借阅(学号,书号,借阅时间,借阅量)
管理(编号,书号,备注,管理日期)
5、详细设计
5.1建立数据库代码
createdatabasebooks_management//建立数据库
on(
name='books_management',
图书管理数据库\books_management.mdf,
size=10,
maxsize=10,
filegrowth=10
)
logon
(name='books_management_log',
图书管理数据库\books_management_log.ldf,
size=10,
maxsize=10,
filegrowth=10
)
Go
createtablestudent//建立学生表
(学号varchar(200)primarykey,
varchar(200)notnull,
性别varchar(100)notnulldefault'男',
班级varchar(200)notnull,
联系varchar(400)notnull
)
createtablebooks//建立图书表
(
书号varchar(200)primarykey,书名varchar(200)notnull,作者varchar(200)notnull,定价varchar(200)notnull,数量varchar(200)notnull,分类号varchar(200)notnull,
varchar(200)notnull,
createtableadministrator//建立管理员表
(编号varchar(200)primarykey,
密码varchar(200)notnull,
varchar(100)notnull,
联系varchar(400)notnull,
)createtableborrow//建立借阅表
(学号varchar(200)notnull,
书号varchar(200)notnull,
借阅时间varchar(IOO)notnull,
借阅量varchar(400)notnull,
primarykey(学号,书号)
createtablemanagement//建立管理表
(编号varchar(200)notnull,
书号varchar(200)notnull,
管理日期varchar(100)notnull,
备注varchar(400)notnull,
primarykey(编号,书号)
)
5.2建立前台界面以及其代码
1、当图书管理系统打开时的界面如图5.1所示
图5.1
PublicClassForml
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
HandlesMyBaseLoad
EndSub
Handles
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
Button1.Click
Form2Show()
EndSub
Handles
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
Button2.Click
Form3Show()
EndSub
EndClass
2、当点击学生按钮后,进入了学生登陆系统
图5.2
代码如下:
PublicClassForm2
PrivateSubForm2_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
HandlesMyBaseLoad
EndSub
Handles
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
Button1.Click
IfTextBox1.Text=""OrTextBox2.Text=""Then
MsgBox("用户名和密码不能为空?
")
Else
checkLoginName()
EndIf
EndSub
SubcheckLoginName()
DimstrconAsString="datasource=XP23;initialcatalog=books_management;userid=XP23\Administrator;pwd=;integratedsecurity=true;"
DimconAsSqlConnection=NeWSqlConnection(strcon)
"'and
con.Open()
DimsqlAsString="select*from[student]where学号="'&TextBoxl.Text.ToString().Trim()&
密码='"&TextBox2.Text.ToString().Trim()&"'"
DimcmdAsNeWJqlComman(tql,con)
DimreaderAsSqlDataReader
reader=cmd.ExecuteReader
Ifreader.Read()=TrueThen
MeHide()
Form4.Show()
Else
MsgBox("登陆失败,请检查你的用户名,密码,登陆权限是否正确")
EndIf
EndSub
3、当学生登陆成功后,进入查询界面,输入图书编号,点击“搜索”按钮可查询改图书信息。
如果点击“查询全部”按钮,即可查询所有的图书信息。
图5.3
按图书编号查询图书信息的代码如下:
DimconAsSqlConnection=NeWSqlConnection(strcon)
con.Open()
DimstuNumAsString=MeTextBoxl.Text
DimselectStudentAsString="select*frombookswhere书号='"+stuNum+
DimdsAsDataSet=NewDataSet()
DimdaAsSqlDataAdapter=NewSqlDataAdapter(selectStudent,con)
da.Fill(ds,"books")
MeDataGridViewl.DataSource=ds.Tables("books")
con.Close()
4、如果在图5.1中单击的是“管理员”按钮,则进入管理员登陆界面,如图5.4
图5.4
5、当成功登陆管理员系统后,进入图书管理界面,如图5.5
图5.5
6、当点击图5.5的“图书查询”按钮时,进入图书查询界面。
当单击“图书借阅信息查询”按钮时,学生的借阅信息将在下面显示,如图5.6。
当点击其他三个按钮时也会
出现相应的信息。
图5.6
代码如下:
ImportsSystem.Data
ImportsSystem.Data.SqlClient
PublicClassForm6
DimstrconAsString="datasource=XP23;initialcatalog=books_management;user
id=XP23\Administrator;pwd=;integratedsecurity=true;"
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles
Button1.Click
DimconAsSqlConnection=NeWSqlConnection(strcon)
con.Open()
DimselectStudentAsString="select*fromborrow"
DimdsAsDataSet=NeWDataSet()
DimdaAsSqlDataAdapter=NeWSqlDataAdapter(selectStudent,con)
da.Fill(ds,"borrow")
MeDataGridViewl.DataSource=ds.Tables("borrow")
con.Close()
EndSub
7、当点击图5.5中的“图书管理”按钮时,进入图书管理界面,如图5.7
图5.7
8当点击图5.5中的“图书借阅”按钮时,进入图书借阅界面,如图5.8
图5.8
代码如下:
DimnameAsString=MeTextBox3.Text
DimnumAsString=MeTextBox4.Text
DimtimeAsString=MeTextBox5.Text
Dimnum2AsString=MeTextBox6.Text
name,
DimaddclassAsString=String.Format("insertintoborrowvalues('{0}','{1}','{2}','{3}')"num,time,num2)
DimstrconAsString="datasource=XP23;initialcatalog=books_management;userid=XP23\Administrator;pwd=;integratedsecurity=true;"
DimconAsSqlConnection=NeWSqlConnection(strcon)
con.Open()
DimcmdAsSqlCommand=NeWSqlComman(addclass,con)
DimresultAsinteger=cmd.ExecuteNonQuery()
If(result<1)Then
MessageBoxShow("添加失败!
","操作提示”,,MessageBoxButtons.OK,MessageBoxicon.Warning)Else
MessageBoxShow("添加成功!
","操作提示",MessageBoxButtons.OK,MessageBoxicon.1nformation)MeClose()
Endif
9、当点击图5.5中的“图书归还”按钮时,进入图书归还界面,如图5.9
当点击下图中要删除的行时,根据学号和书号删除该列。
图5.9
代码如下:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles
Buttonl.Click
DimconAsSqlConnection=NeWSqlConnection(strcon)
con.Open()
DimstuNumlAsString=MeTextBoxl.Text
DimstuNum2AsString=MeTextBox2.Text
DimselectStudentAsString="select*fromborrowwhere学号='"+stuNuml+"'and书号='"+stuNum2
DimdsAsDataSet=NevDataSet()
DimdaAsSqlDataAdapter=NeWSqlDataAdapter(selectStudent,con)
da.Fill(ds,"borrow")
MeDataGridView1.DataSource=ds.Tables("borrow")
con.Close()
EndSub
PrivateSubDataGridView1_CellContentClick(ByValsenderAsSystem.Object,ByValeAs
System.Windows.Forms.DataGridViewCellEventArgs)HandlesDataGridView1.CellContentClick
DimstuidAsString=MeDataGridView1.Rows(e.Rowlndex).Cells(O).Value.ToString().Trim()
Dimstuid1AsString=MeDataGridView1.Rows(e.Rowlndex).Cells
(1).Value.ToString().Trim()
IfMessageBoxShow("确定要删除该用户吗?
","操作警告",MessageBoxButtons.YesNo,
MessageBoxIcon.Warning)=Windows.Forms.DialogResult.YesThen
DimdeleteStudentAsString=String.Format("DELETEFROMborrowWHER学号="'+stuid+"'and书
号='"+stuid1+""')
DimconAsSqlConnection=NewSqlConnection(strcon)
con.Open()
DimcmdAsSqlCommand=NewSqlComman(deleteStudent,con)
DimresultAsinteger=Convert.ToInt32(cmd.ExecuteNonQuery())
con.Close()
If(result<1)Then
MessageBoxShow("删除失败!
","操作结果"MessageBoxButtons.OK,MessageBoxIcon.Exclamation)
Else
MessageBoxShow("删除成功!
","操作结果"MessageBoxButtons.OK,MessageBoxIcon.lnformation)
MefrmSearchStudent_Load(sender,e)
EndIf
EndIf
6、总结
通过此次实训,我受益匪浅。
这是第一次将数据库所学的理论知识用于实践,独立
的设计一个系统程序。
对于我来说,在做这个系统的过程中,有好多不懂的地方如:
界面的设计、编码问题、用户需求问题等。
这个系统的功能还不够完善,很多地方因为所学的知识有限而没有做出来,这些都是不够好的地方,也是我一直需要努力的地方。
此次实训不仅让我了解到自身学习的不足之处,也让我扩展了知识面,是对书本所
学的知识点的延伸。
在设计这个系统的过程中,我熟悉并掌握了MicrosoftSQL
Severe2010和VB数据库的使用。
这是对自身知识丰富的一个过程,同时也感受到其中的快乐,激发了的兴趣,对于以后的学习有了更加坚定地信念。
7、参考文献
[1]周屹,艳娟•数据库原理及开发应用(第二版)•:
清华大学.2007.
[2]肖慎勇.SQLserver数据库管理与开发.:
清华大学.2007