报告样本.docx
《报告样本.docx》由会员分享,可在线阅读,更多相关《报告样本.docx(23页珍藏版)》请在冰豆网上搜索。
报告样本
吉林工业职业技术学院
(数据库应用实训报告)
(2011~2012学年第1学期)
实训地点:
数据库应用实训室
指导教师:
赵秀艳、刘文宏
专业班级:
信管3101
学生姓名:
07号毕红岩
2011年12月28日
目录
实习题目1
实习地点1
实习目的1
实习要求1
实习内容1
1.系统分析1
1.1需求分析1
1.2功能分析2
2.数据库设计2
2.1在SQL中创建数据库2
2.2使用企业管理器创建数据库4
2.4使用企业管理器创建表5
2.5连接数据库6
3、功能模块设置9
3.1身份验证模块设计9
3.2主窗口设计10
3.3借书信息管理模块的创建11
3.4设定用户窗口的创建12
3.5添加读者信息窗口的创建13
实习心得14
参考文献14
附录15
SQLServer实训
实习题目
图书管理系统
实习地点
软件开发实训室
实习目的
(1)对SQLServer数据库的基本理论和基本操作有更进一步的了解和认识,将理论和实际相结合。
(2)能够根据现实生活中一些实际问题的需要,设计出数据库,并通过所学知识将其模型化,设计出解决问题的方案,然后制作出相应的应用程序。
(3)考查基本语言的掌握是否牢固,并考查程序设计的熟练程度,加强对程序设计和数据库设计的理解,进行深层次的巩固和复习,最重要的是了解基本应用软件的设计步骤,还有对软件调试的掌握。
实习要求
要求每个学生独立完成课程设计任务,具体要求如下:
(1)详细书写系统设计说明书。
(2)使用SQLserver数据库完成数据库设计。
(3)完成每个题目的基本功能要求,有能力的同学可扩充。
(4)程序界面设计友好、操作合理。
实习内容
1.系统分析
1.1需求分析
每个学校都有图书馆,最初由于图书数量和种类较少,人工手动管理比较方便和灵活。
随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书馆图书信息管理系统,是为了解决了人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。
该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统。
这里把系统的层次划分为了三个部分:
一个自由态:
即面向任何用户的界面,提供登录功能,以便不同身份的用户登录子系统;一个是一般用户态:
即图书有服务子系统;还有一个是管理员界面:
提供图书的管理和维护功能。
对于不同子系统之间的功换,采用了登录功能和用户注销功能。
系统划分了子系统后,下一步的工作是继续划分子系统的小模块。
先考虑在进入子系统时应该做什么,进入系统之后又应该做什么,提供那些服务等。
例如,对于图书信息服务子系统,在用户进入时首先得调用相关数据库表,找出用户的图书借阅情况;进入系统后,子系统得提供图书查询、图书借阅和还书功能。
。
1.2功能分析
考勤管理系统流程图,如图1-1所示:
图1-1考勤管理系统流程图
本系统主要实现对图书的管理,主要功能为对图书进行图书管理、读者管理、图书借阅管理,系统管理和退出。
总体思路是这样的,进入图书管理系统首先是身份验证,输入正确后则进入图书管理系统的主界面,在其中进行读者管理的添加读者信息,图书管理的添加图书信息,图书借阅管理的借书及还书的应用,在系统管理中则可以对密码进行修改和进行添加用户名等操作,最后操作完毕则点退出即退出本系统。
2.数据库设计
2.1在SQL中创建数据库
在新建的数据库中用“企业管理器”建图书管理系统所需要的表格。
如:
读者类别、读者信息、借阅信息、书籍信息、图书类别、用户表,并在表中输入一些相关的信息。
数据库表中的用户信息表,如表2-1所示:
表2-1用户信息表
列名
数据类型
可否为空
类别名称
nvarchar
Notnull
类别编号
nvarchar
NotNull
数据库表中的借阅信息表,如表2-2所示:
表2-2借阅信息表
列名
数据类型
可否为空
读者姓名
nvarchar
Notnull
读者编号
nvarchar
NotNull
性别
nvarchar
Null
读者类别
nvarchar
Null
工作单位
nvarchar
NotNull
家庭住址
nvarchar
Null
电话号码
nvarchar
Null
登记日期
smalldatatime
Null
已借出数量
int
Null
数据库表中的书籍信息表,如表2-3所示:
表2-3书籍信息表
列名
数据类型
可否为空
种类名称
nvarchar
Notnull
借书数量
int
null
借书期限
int
Null
有限期限
int
Null
数据库表中的读者来别表,如表2-4所示:
表2-4读者类别表
列名
数据类型
可否为空
种类名称
nvarchar
Notnull
借书数量
int
null
借书期限
int
Null
有限期限
int
Null
数据库表中的读者信息,如表2-5所示:
表2-5读者信息表
列名
数据类型
可否为空
读者姓名
nvarchar
Notnull
读者编号
nvarchar
NotNull
性别
nvarchar
Null
读者类别
nvarchar
Null
工作单位
nvarchar
NotNull
家庭住址
nvarchar
Null
电话号码
nvarchar
Null
登记日期
smalldatatime
Null
已借出数量
int
Null
数据库表中的图书类别情况,如表2-6所示:
表2-6图书类别表
列名
数据类型
可否为空
类别名称
nvarchar
Notnull
类别编号
nvarchar
NotNull
2.2使用企业管理器创建数据库
单击“开始”>“程序”>“MicrosoftSQLServer”>“企业管理器”,出现MicrosoftSQLServer企业管理器界面,如图2-1所示:
图2-1MicrosoftSQLServer企业管理器界面
展开服务器组,然后展开服务器,单击“数据库”,然后单击“新建数据库”,键入新数据库名称“databass”,如图2-2所示:
图2-2数据库属性界面
2.4使用企业管理器创建表
单击“开始”>“程序”>“MicrosoftSQLServer”>“企业管理器”,出现MicrosoftSQLServer企业管理器界面,如图2-3所示:
图2-3MicrosoftSQLServer企业管理器界面
展开服务器组,然后展开服务器,单击“数据库”,选中要在其中创建的数据库,右击目标数据库的表节点并节点选择“新建表”命令,如图2-4所示:
图2-4数据库属性界面
将已经设计好的所有字段信息填入表设计器中,如图2-5所示:
图2-5字段信息填入表设计器界面
设计完毕之后,单击“保存”按钮,将表结果保存起来,单击“退出”按钮,退回到企业管理器主界面,用户既可以在数据库表对象中查看已建好的表。
2.5连接数据库
单击“开始”>“设置”>“控制面板”>“管理工具”>“数据源”如图2-6所示:
图2-6数据源管理器
进入此界面后单机“添加“>选择“sqlsever”>“完成”进入到如图2-7所示界面:
图2-7sql的新数据源
起完名称之后单击“下一步”进入到如图2-8所示界面:
图2-8sql配置
完成如上步骤后在VisualBasic环境中把ADO控件与DataGrid控件相连接和对其中相应属性修改为,如图2-9所示:
图2-9ADO控件属性
单机“生成”进入数据连接属性,如图2-10所示:
图2-10数据连接属性
再单机“测试连接”连接成功后进入“记录源”如图2-11所示:
图2-11ADO控件属性
进入此之后对相应表进行设置,VB与SQL数据库连接成功。
3、功能模块设置
我们小组三个人,分工完成管理系统的设计与实现。
我主要负责的是借书信息管理模块、设定用户模块与的添加读者信息模块设计与实现。
3.1身份验证模块设计
打开“New”里的“PBobject”选择“window”单击“OK”,显示出一个窗口,在窗口里放入所需要的控件。
在这些控件的“text”属性中输入所需要的内容,用鼠标单击窗口的空白处在属性类中的“Title”属性中输入“欢迎进入图书管理系统”,身份验证窗口,如图3-1所示:
图3-1身份验证界面
当用户输入完用户名和密码之后需要按确定按钮,单击“确定”命令按钮的“clicked”事件,在“clicked”事件中输入程序代码。
3.2主窗口设计
用户输入正确的用户名和密码,登录成功后,可以见到本程序的主窗口,系统应用程序的主要功能都是主窗口w_main及其上放置控件中完成的。
主窗口的界面如图3-2所示:
图3-2图书管理系统主窗口界面
该页主要运用的是菜单编辑器,在其中依次输入,如图3-3所示数据:
图3-3图书管理系统中菜单编辑器
3.3借书信息管理模块的创建
借书信息管理窗口用于借书人员对数据信息的输入,来借阅书籍,由主窗口上的“借阅信息管理”进入其窗口进行借阅信息的录入,如图3-4所示:
图3-4借书信息管理
选中书名,输入书名之后单击“确定”按钮右侧则会出现你要查询的图书信息,如图3-5所示:
图3-5借书信息管理
在借阅信息窗口中,对书籍进行借阅,如图3-6所示:
图3-6借书界面
3.4设定用户窗口的创建
设定用户设定窗口用于增加登录的用户名及密码,由主程序窗口上“系统管理”来运行,如图3-7所示:
图3-7设定用户
分别输入完用户名、密码和确认密码之后会弹出一个对话框,如图3-8所示:
图3-8用户添加成功
3.5添加读者信息窗口的创建
添加读者信息窗口用于对读者信息的统计,对读者的信息进行添加。
由主程序窗口上的“读者管理”来运行,如图3-9所示:
图3-9添加读者信息
分别输入“添加读者信息”中的信息后单击“确定”会出现一个对话框,如图3-10所示:
图3-10读者信息添加成功
实习心得
通过两几天实训,感触还真是很多,那几天的坚持,每天四节课就坐在电脑前敲着代码,有的时候晚上回了寝室还要继续敲。
很多时候焦头烂额心烦意乱也写不好,写出来后反复调试反复出错,简直是在考验我们的耐心。
看着每个同学焦急的样子,真的有点担心在规定的期限内是不是能够完成任务。
所以期间自己会想,如果将来从事了这个行业,面对更加复杂的程序更加有难度的题目要求,心理压力不是更大么?
通过这次试训让我知道了1:
面对复杂的事情而且要长期坚持时,千万不可浮躁了事,那样欠下的债会越来越多,一定要定下心来踏踏实实的去做,我发现有了好的开始,后面再乱的思绪也会慢慢捋清楚。
2:
心态很重要,第一天还好,第二天的时候,心虚特别浮躁,显然那天的效率十分低下,回去后和朋友聊天,被开导后慢慢整理思绪平静下心来开始做,发现一切并没有原本想象的那么棘手。
3:
面对问题要自己主动去解决,程序过程中难免有很多难题,别人无法帮助自己,要靠自己去努力克服才能接着做下一步。
参考文献
[1]王玉,粘新育.SQLServer数据库应用技术.中国铁道出版社
[2]史瑞芳,赵玉.SQL数据库及应用.中国水利水电出版社
[3]袁鹏飞.中文版SQLServer2000数据库系统管理.北京:
人民邮电出版社,2001.
[4]SQLServer2000数据库及应用徐人凤曾建华高等教育出版社2004年1月
[5]《SQLServer数据库开发经典案例解析》,清华大学出版社,2006年
附录
借书信息管理源代码如下
IfCheck1.Value=vbCheckedThen
sql="书名like'%"&Trim(Text1.Text&"")&"%'"
EndIf
IfCheck2.Value=vbCheckedThen
IfTrim(sql)=""Then
sql="类别like'%"&Trim(Combo1.Text&"")&"%'"
Else
sql=sql&"and类别like'%"&Trim(Combo1.Text&"")&"%'"
EndIf
EndIf
IfCheck3.Value=vbCheckedThen
IfTrim(sql)=""Then
sql="作者like'%"&Trim(Text2.Text&"")&"%'"
Else
sql=sql&"and作者like'%"&Trim(Text2.Text&"")&"%'"
EndIf
EndIf
IfCheck4.Value=vbCheckedThen
IfTrim(sql)=""Then
sql="图书编号like'%"&Trim(Text3.Text&"")&"%'"
Else
sql=sql&"and图书编号like'%"&Trim(Text3.Text&"")&"%'"
EndIf
EndIf
IfCheck5.Value=vbCheckedThen
IfTrim(sql)=""Then
sql="出版社like'%"&Trim(Text4.Text&"")&"%'"
Else
sql=sql&"and出版社like'%"&Trim(Text4.Text&"")&"%'"
EndIf
EndIf
conn.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=database;DataSource=DMT408"
IfTrim(sql)=""Then
MsgBox"请选择查询方式!
",vbOKOnly+vbExclamation
ExitSub
EndIf
sql="select*from书籍信息where"&sql
DataGrid1.AllowAddNew=False
Else
SetDataGrid1.DataSource=rs_findbook
IfTrim(book_num)=""Then
MsgBox"请选择要借阅的图书!
",vbOKOnly+vbExclamation
ExitSub
EndIf
Ifpanduan="是"Then
MsgBox"此书已被借出!
",vbOKOnly+vbExclamation
ExitSub
EndIf
UnloadMe
借书.Show
EndSub
PrivateSubDataGrid1_RowColChange(LastRowAsVariant,ByValLastColAsInteger)
book_num=DataGrid1.Columns(0).CellValue(DataGrid1.Bookmark)
panduan=DataGrid1.Columns
(1).CellValue(DataGrid1.Bookmark)
EndSub
PrivateSubForm_Load()
Dimrs_findAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
sql="select*from图书类别"
conn.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=database;DataSource=DMT408"
rs_find.Opensql,conn,adOpenKeyset,adLockPessimistic
rs_find.MoveFirst
IfNotrs_find.EOFThen
DoWhileNotrs_find.EOF
Combo1.AddItemrs_find.Fields(0)
rs_find.MoveNext
Loop
Combo1.ListIndex=0
EndIf
rs_find.Close
EndSub
设定用户源代码如下:
conn.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=database;DataSource=DMT408"
IfTrim(Text1.Text)=""Then
MsgBox"用户名不能为空,请输入!
",vbOKOnly+vbExclamation,""
Text1.SetFocus
Else
sql="select*from用户表"
rs_add.Opensql,conn,adOpenKeyset,adLockPessimistic
While(rs_add.EOF=False)
IfTrim(rs_add.Fields(0))=Trim(Text1.Text)Then
MsgBox"已有这个用户",vbOKOnly+vbExclamation,""
Text1.SetFocus
Text1.Text=""
Text2.Text=""
Text3.Text=""
ExitSub
Else
rs_add.MoveNext
EndIf
Wend
IfTrim(Text2.Text)<>Trim(Text3.Text)Then
MsgBox"两次密码不一致",vbOKOnly+vbExclamation,""
Text2.SetFocus
Text2.Text=""
Text3.Text=""
ExitSub
Else
rs_add.AddNew
rs_add.Fields(0)=Text1.Text
rs_add.Fields
(1)=Text2.Text
rs_add.Update
MsgBox"添加用户成功!
",vbOKOnly+vbExclamation,""
Me.Hide
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
添加读者信息源代码如下:
PrivateSubCommand1_Click()
IfTrim(Combo1.Text)=""Then
MsgBox"请选择读者类别",vbOKOnly+vbExclamation,""
Combo1.SetFocus
ExitSub
EndIf
IfTrim(Text1.Text)=""Then
MsgBox"读者姓名不能为空",vbOKOnly+vbExclamation,""
Text1.SetFocus
ExitSub
EndIf
IfTrim(Text2.Text)=""Then
MsgBox"读者编号不能为空",vbOKOnly+vbExclamation,""
Text2.SetFocus
ExitSub
EndIf
IfNotIsDate(Text6.Text)Then
MsgBox"请按照yyyy-mm-dd格式输入登记日期",vbOKOnly+vbExclamation,""Text6.SetFocus
ExitSub
EndIf
IfTrim(Combo2.Text)=""Then
MsgBox"请选读者性别",vbOKOnly+vbExclamation,""
Combo2.SetFocus
ExitSub
EndIf
conn.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=database;DataSource=DMT408"
sql="select*from读者信息where读者编号='"&Text2.Text&"'"
MsgBox"读者编号重复!
",vbOKOnly+vbExclamation,""
Text2.SetFocus
rs_addreader.Close
ExitSub
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
Dimrs_leibieAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
Provider="Microsoft.Jet.OLEDB.3.5.1;PersistSecurityInfo=false;datasource=D:
\图书管理系统\database.mdb"
conn.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=database;DataSource=DMT408"
sql="select*from读者类别"
rs_leibie.Opensql,conn,adOpenKeyset,adLockPessimistic
rs_leibie.MoveFirst
DoWhileNotrs_leibie.EOF
Combo1.AddItemrs_leibie.Fields(0)
rs_leibie.MoveNext
Loop
rs_leibie.C