数据库开发技术Word下载.docx
《数据库开发技术Word下载.docx》由会员分享,可在线阅读,更多相关《数据库开发技术Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
![数据库开发技术Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/26/0775d2c3-f821-4332-8ff2-d639322ee61c/0775d2c3-f821-4332-8ff2-d639322ee61c1.gif)
考试参数管理
下面给出每个界面图预览
图0.用户管理
图1.题库管理
图2.考试参数管理
图3.分数查询
三、数据库逻辑设计
用表格的形式给出各表的结构
用户类型
用户编号
用户名字
用户密码
进入标志
考试标志
图4.用户管理
题目类型编号
题目编号
题目名字
题目答案
A选项
B选项
C选项
D选项
E选项
F选项
图5.各题选项名称
名字
图6.题目类型编号
试卷编号
图7.试卷编号
考生账号
类别编号
在试卷中的编号
学生答案
E选项
成绩
图8.考生账号
用户账号
选择题比例选
择题分值
判断题比例
判断题分值
填空题比例
填空题分值
考试时间单位为分钟
图9.各题比例
选择题
判断题
填空题
图10.各题成绩
四、主要模块功能说明
1、登录模块:
重点数据库连接和安全性实现
OptionExplicit
PubliccnnAsADODB.Connection
PublicSql,Str1AsString
PublicUsetimeAsInteger
PublicBkmAsInteger
PublicUsIdAsString
SubMain()
OnErrorGoToErr1
Usetime=0
Setcnn=NewADODB.Connection
cnn.ConnectionString="
Provider=SQLOLEDB.1;
PersistSecurityInfo=False;
"
&
_
"
UserID=sa;
InitialCatalog=DB_TEST;
DataSource=."
cnn.Open
frm_Welecome.ShowvbModal
ExitSub
Err1:
ErrMessageBox"
Main()启动过程出错"
EndSub
2、系统业务流程图
图11.流程图
3、考试模块:
增加按钮的变化
最后一题
图12.最后一题
PrivateSublast_dx_Click()
OnErrorGoToErr1
CallT_last(Ado3,0)
CallShowDX
Cmd_XNext.Enabled=True
last_dx.Enabled=False
first_dx.Enabled=True
Cmd_XPre.Enabled=True
考生考试连接出错"
第一题
图13.第一题
PrivateSubfirst_dx_Click()
CallT_first(Ado3,0)
first_dx.Enabled=False
last_dx.Enabled=True
每题按钮
图14.单选按钮
PrivateSubCommand2_Click(IndexAsInteger)
DimiAsInteger
IfNotrsIsNothingThen
Ifrs.State=adStateOpenThen
rs.Close
EndIf
Setrs=Nothing
i=0
IfIndex>
=0AndIndex<
30Then
Stb_Test.Tab=0
IfIndex=0Then
CallT_first(Ado1,0)
CallShowXZ
Else
Fori=1ToIndex
CallT_Next(Ado1,0)
Callcheck
Nexti
=30AndIndex<
=40Then
Stb_Test.Tab=1
IfIndex=30Then
CallT_first(Ado2,1)
CallShowPD
Fori=31ToIndex
CallT_Next(Ado2,1)
=41AndIndex<
=49Then
Stb_Test.Tab=2
IfIndex=40Then
CallT_first(Ado3,2)
Fori=41ToIndex
CallT_Next(Ado3,2)
多选题
图15.多选题
(Check程序借鉴单选题的单选按钮Option程序代码)
PrivateSubCheck1_Click(IndexAsInteger)
Txt1_XAnswer.Text=Check1(Index).Caption
Cmd_XOk.SetFocus
DimiAsInteger'
声明用于循环的整形变量
DimstrAsString
Fori=0To3
IfCheck1(i).Value=1Then
str=str&
Check1(i).Caption
str=str
Nexti
Txt1_XAnswer.Text="
Txt1_XAnswer.Text=Txt1_XAnswer.Text&
str
IfNotrsIsNothingThen'
如果记录集rs不为空
Ifrs.State=adStateOpenThen'
如果记录集处于打开状态
rs.Close'
关闭记录集
Setrs=Nothing'
rs设置为空
IfTxt1_XAnswer.Text="
OrTxt1_XAnswer.Text="
请在此输入......"
Then'
如果没有输入答案
MsgBox"
请输入您的答案或者单击答案选项!
vbOKOnly+vbInformation'
提示没有答题
Else'
Sql="
updatetb_stutestsetstu_answer='
Txt1_XAnswer.Text&
'
wherestudentid='
UsId&
andpapertopid="
Ado3.Recordset.Fields("
papertopid"
)&
'
把考生答案写入数据库的语句赋给变量Sql
cnn.ExecuteSql'
执行SQL语句,把答案写入数据库
4、管理模块:
例判断题的程序代码
PrivateSubCmd_PDT_Click()
select类型号=tb_testtype.Typeid,题号=(tb_topicstor.topicid),"
题目名称=topicname,答案=topicanswer"
fromtb_topicstor,tb_testtypewheretb_testtype.typeid=tb_topicstor.typeidandtypename='
判断题'
CallFunAdo(Sql)
DG.Columns(0).Width=700
DG.Columns
(1).Width=500
DG.Columns
(2).Width=4000
DG.Columns(3).Width=500
5、导入导出:
导入数据到数据库:
Trim(DuoX_Answer.Caption)&
cnn.ExecuteSql
通过查询导出数据库里的数据:
Sql="
selectstu_answerfromtb_stutest"
Ado1.Recordset.Fields("
rs.OpenSql,cnn,adOpenStatic,adLockReadOnly‘只读静态读取数据
五、测试情况
1、已完成的部分包括:
(1)第一题、最后一题的跳转
调试部分遇到的问题:
CallT_first(Ado3,0)
CallShowDX
关键在各个页面中对红色部分的修改
(2)点击选项后将答案直接放入数据库而不用通过提交按钮;
Txt_XAnswer.Text&
cnn.ExecuteSql
调试部分遇到的问题:
运用到了for的循环及数据库的导出程序
(3)右边界面的选择按钮组;
其中的边界值设定是出现的问题都通过一次次的运行测试正常
对控件数组的运用从新复习的了大一所学程序,促进自己的语言编程
(4)将填空题更改成多选题;
填空题更改成多选题运行时出现的控件名称的修改,在整个工程的查找中对程序加深理解