数据库论文大型数据库系统开发实验Word格式文档下载.docx
- 文档编号:5113683
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:30
- 大小:81.33KB
数据库论文大型数据库系统开发实验Word格式文档下载.docx
《数据库论文大型数据库系统开发实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库论文大型数据库系统开发实验Word格式文档下载.docx(30页珍藏版)》请在冰点文库上搜索。
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理。
(2)面向对象
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
(3)界面友好、易操作
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
(4)Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity)
三.需求分析
每所高校每年都有大量的学生入学,如何对学生的信息进行有效的管理,这是一件比较复杂的问题。
为更好的做好学生信息管理这项工作,提高工作效率,更好的为学校的发展和一线教学服务,结合我校实际情况,自行研制一套学生信息管理系统。
在我校目前的学生信息管理中,虽然应用了计算机进行管理,摆脱了全手工的管理方式,但由于没有一套统一的方式、方法和软件系统支持,仍然存在着诸如数据分散、不一致、可利用率低等的问题,以致影响了工作效率的进一步提高。
目前我校的校园网络已经基本建设完毕,网络的应用为我校的发展提供的良好的基础支持。
本系统以后可以进一步充分利用这一有利条件,不久的将来开发一套完全网络化的学生信息管理系统,进一步提高工作效率,使之更加便捷。
学生信息管理系统的实现,可以使学校更方便的对学生信息进行查询和录入,配合学校教学的步伐。
四.系统总体设计
4.1数据库设计
班级信息数据表
专业信息数据表
学生信息数据表
4.2系统主要界面设计
因为学生信息管理牵扯到个人隐私等多方面因素,所以一定要保密,并有专人管理,使用前身份确认就显得非常重要,故在运行前要进行管理权限确认.以防止他人无意或恶意篡改
代码为:
OptionExplicit
'
表示当前用户登录所选择的身份,即用户类型,0-表示教务管理人员;
1-表示学生
DimmnUserTypeAsInteger
PrivateSubcmdCancel_Click()
UnloadMe
EndSub
PrivateSubcmdOK_Click()
'
取得用户输入的用户名和密码
DimuserAsString,pwdAsString
user=txtUser
pwd=txtPwd
根据不同的身份,选择不同的表用以查询
DimrAsNewADODB.Recordset
Setr=DataEnv.rssqlSeek
DimstrSQLAsString
SelectCasemnUserType
Case0:
若身份为管理员
strSQL="
select*fromadminwherename='
"
&
user&
"
andpwd='
pwd&
Case1:
若身份为学生
select*fromstudentwherename='
andserial='
EndSelect
OnErrorResumeNext
查询DataEnv.rssqlSeek的状态,如果已经打开,则先关闭
Ifr.State=adStateOpenThenr.Close
r.OpenstrSQL'
根据strSQL的内容刷新DataEnv.rssqlSeek
用户密码错误的次数,如果错误次数超过3次,则退出系统
StaticnTryCountAsInteger
Ifr.EOFThen'
登录失败
MsgBox"
对不起,无此用户或者密码不正确!
请重新输入!
!
vbCritical,"
错误"
txtUser.SetFocus
txtUser.SelStart=0
txtUser.SelLength=Len(txtUser)
nTryCount=nTryCount+1
IfnTryCount>
=3Then
您无权操作本系统!
再见!
无权限"
EndIf
Else'
登陆成功
显示MDI窗体,并将用户类型和用户名传到MDI窗体中的mnUserType,msUserName中
LoadMDIMain
WithMDIMain
.mnUserType=mnUserType
.msUserName=pwd
.Show
EndWith
PrivateSubForm_Load()
optUserType(0).Value=True
PrivateSuboptUserType_Click(IndexAsInteger)
mnUserType=Index
PrivateSubtxtUser_Change()
学生管理学生查询界面
标识是否能关闭
DimmbCloseAsBoolean
标识当前要显示的照片的文件
DimmstrFileNameAsString
当DataEnv.rsStudent的当前记录发生变化时,刷新所绑定的控件(用户改变了当前记录)
SubRefreshBinding()
WithDataEnv.rsStudent
IfDataEnv.rssqlSeek.BOFAndDataEnv.rssqlSeek.EOFThen
如果不存在任何记录,则清空所有的绑定的内容
txtSerial="
txtName="
txtBirthday="
txtTelephone="
txtAddress="
txtResume="
imgPhoto.Picture=LoadPicture(Null)
否则和相应的字段进行绑定
txtSerial=.Fields("
serial"
)
txtName=.Fields("
name"
txtBirthday=.Fields("
birthday"
txtTelephone=.Fields("
tel"
txtAddress=.Fields("
address"
txtResume=.Fields("
resume"
cboSex.Text=.Fields("
sex"
dcbClass.Text=.Fields("
class"
imgPhoto.Picture=LoadPicture(ReadImage(.Fields("
photo"
)))
在DataEnv.rsStudent中查询serial为sSerial的学籍信息
SubSeekStudent(sSerialAsString)
IfNot(DataEnv.rsStudent.EOFAndDataEnv.rsStudent.BOF)Then
DimTempAsString
Temp="
serial="
sSerial&
DataEnv.rsStudent.MoveFirst
DataEnv.rsStudent.FindTemp
刷新所绑定的控件
CallRefreshBinding
当改变记录集时,需要刷新用户导航的网格控件
SubRefreshGrid()
grdScan.DataMember="
grdScan.Refresh
DataEnv.rssqlSeek.Requery
sqlSeek"
刷新各个绑定控件
CallgrdScan_Change
用以在浏览时,根据当前记录所出的位置不同,来改变个浏览按钮的状态
SubChangeBrowseState()
WithDataEnv.rssqlSeek
If.State=adStateClosedThen.Open
如果没有任何记录,使某些按钮无效;
否则则使这些按钮有效
If.BOFAnd.EOFThen
cmdAdd.Enabled=True
cmdEdit.Enabled=False
cmdDelete.Enabled=False
cmdUpdate.Enabled=False
cmdReport.Enabled=False
fraBrowse.Enabled=False
Else
cmdEdit.Enabled=True
cmdDelete.Enabled=True
cmdReport.Enabled=True
fraBrowse.Enabled=True
假如处于记录的头部
If.BOFThen
IfNot.EOFThenDataEnv.rsStudent.MoveFirst
cmdPrevious.Enabled=False
cmdFirst.Enabled=False
cmdPrevious.Enabled=True
cmdFirst.Enabled=True
假如处于记录的尾部
If.EOFThen
IfNot.BOFThenDataEnv.rsStudent.MoveLast
cmdNext.Enabled=False
cmdLast.Enabled=False
cmdNext.Enabled=True
cmdLast.Enabled=True
mstrFileName="
PrivateSubcboDep_Click()
DimrsClassAsNewADODB.Recordset
DimstrSQL
根据所选的系的不同,采用不同的SQL语句
IfcboDep.ItemData(cboDep.ListIndex)=0Then
select*fromclass"
select*fromclasswheredept_id="
cboDep.ItemData(cboDep.ListIndex)
rsClass.OpenstrSQL,DataEnv.Con
将所查到的rsClass中的内容来填充cboClass
cboClass.Clear
cboClass.AddItem"
全部"
WhileNotrsClass.EOF
cboClass.AddItemrsClass("
Name"
rsClass.MoveNext
Wend
cboClass.ListIndex=0
rsClass.Close
SetrsClass=Nothing
PrivateSubcmdAdd_Click()
添加记录
fraSeek.Enabled=False
grdScan.Enabled=False
DataEnv.rsStudent.AddNew
txtBirthday.Text="
1980-01-01"
fraInfo.Enabled=True
cmdAdd.Enabled=False
cmdUpdate.Enabled=True
cmdReport.Caption="
取消"
mbClose=False'
不能关闭窗口
PrivateSubcmdDelete_Click()
如果出错,则显示错误代码
OnErrorGoToerrHandler
IfMsgBox("
要删除记录?
vbYesNo+vbQuestion+vbDefaultButton2,"
确认"
)=vbYesThen
通过在DataEnv.Con中执行SQL命令,来删除记录
DataEnv.Con.Execute"
deletefromstudentwhereserial='
txtSerial&
DataEnv.rsStudent.MoveNext
IfDataEnv.rsStudent.EOFThenDataEnv.rsStudent.MoveLast
刷新用户导航的网格控件
CallRefreshGrid
ExitSub
errHandler:
MsgBoxErr.Description,vbCritical,"
PrivateSubcmdEdit_Click()
编辑记录之前,需要设置其他控件的Enabled属性
更改cmdReport标题
出于编辑状态,则用户不能关闭窗口
PrivateSubcmdFirst_Click()
移动到记录的头部,并改变各个浏览按钮的状态
DataEnv.rssqlSeek.MoveFirst
DataEnv.rssqlSeek.MovePrevious
CallChangeBrowseState
PrivateSubcmdLast_Click()
移动到记录的尾部,并改变各个浏览按钮的状态
DataEnv.rssqlSeek.MoveLast
DataEnv.rssqlSeek.MoveNext
PrivateSubcmdList_Click()
针对所选的班级,列出班级中所有的学籍信息
IfcboClass.Text="
Then
fromstudentorderbyserial"
fromstudentwhereclass='
cboClass&
orderbyserial"
DataEnv.rsStudent.Close
DataEnv.rsStudent.Open"
select*"
strSQL
DataEnv.rssqlSeek.Close
DataEnv.rssqlSeek.Open"
selectserial,name"
刷新用户导航的网格控件,并且根据记录集中记录的数目,来改变各个浏览按钮的状态。
PrivateSubcmdNext_Click()'
移动到记录的下一条
PrivateSubcmdPrevious_Click()'
移动到记录的上一条
PrivateSubcmdReport_Click()
IfcmdReport.Caption="
取消所使用的更新更新
DataEnv.rsStudent.CancelUpdate
重新显示原来数据集中的内容
IfDataEnv.rsStudent.BOFThen
DataEnv.rsStudent.MovePrevious
fraSeek.Enabled=True
fraInfo.Enabled=False
grdScan.Enabled=True
报表(R)"
mbClose=True
生成报表
DataEnv.rsrptStudent.Close
select*fromstudentwhereserial='
txtSerial.Text&
DataEnv.rsrptStudent.OpenstrSQL
rptStudent.Show
PrivateSubcmdSeek_Click()
WithfrmFind
DimiAsInteger
显示查找窗口
LoadfrmFind
填充查找窗体的字段列表框
.lstFields.Clear
Fori=0ToDataEnv.rsStudent.Fields.Count-1
.lstFields.AddItem(DataEnv.rsStudent(i).Name)
Nexti
.lstFields.ListIndex=0
.Show1
If.mbFindFailedThenExitSub
DimsTempAsString
IfLCase(.msFindOp)="
like"
sTemp=.msFindField&
.msFindOp&
%"
.msFindExpr&
%'
sTemp="
select*fromstudentwhere"
sTemp&
UnloadfrmFind
查找数据,并刷新用以导航的网格控件
DataEnv.rssqlSeek.OpensTemp
没有符合条件的纪录!
vbExclamation,"
En
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 论文 大型 系统 开发 实验