【doc】Authorware与后台数据库的结合
Authorware与后台数据库的结合
?
数据库与信息管理????..电脑知识与技术
Authorware与后台数据库的结合
沈伟华
丽水学院计算机系.浙江丽水323000
摘要:在大型
课件
超市陈列培训课件免费下载搭石ppt课件免费下载公安保密教育课件下载病媒生物防治课件 可下载高中数学必修四课件打包下载
中,利用Authorware与外部数据库的接口,实现多媒体题库的制作,即利用外部数据库软件存
储试题,通过Authorware设计的屏幕界面表现试题的内容.
关键词:ODBC数据源;Authorware软件
中图分类号:TP37文献标识码:A
Authorware通过Windows提供的0DBC功能可建
立起与外部Access2000数据库之间的联系.测试题库
用MircosoftAccess2000设计数据表单,设置试题,选
项,正确答案,难度等字段,通过配置数据源,多媒体应
用程序可以从外部数据库中获取数据.在本文中使用
的数据库名为student,库中包括一个数据表名为tk.
下面说明如何实现大型课件测试题库的设计.
1试题系统的组成
本系统由试题数据库,试题测试程序组成.关系如
下:
十ODBC与数
.I据库莲按
?
2试题数据库的设计与数据源的配置
2.1试题库的设计
试题库的设计实质是数据库的设计,启动Ac—
cess2000.建立文件名为student.mdb的数据库.内有tk
表,表中有tm(题目),da(答案A),db(答案B),de(答案C),
dd(答案D),an(iE确答案),nd(难度)等字段.
2.2ODBC数据源的建立:
ODBC是英文OpenDatabaseConnettivity的缩写.
中文名为”开放式数据库链接”.它是由微软公司开发
的实现不同数据库之间连接的标准.它屏蔽掉了不同
数据库这问的差别.从而可以使用户利用标准SQL语
言对各种不同的数据库进行操作.在Authoware中.利
用MicrosoftODBC接口和标准SQL语言可对Access,
Foxpro,Dbase,Oracle,Sybasec以及SQLSever等数据库
进行添加,删除和查询等基操作.因而,在使用试题库
前要先建立数据源的链接,然后才可在Authoware中使
用试题库.除了用ODBC管理器创建新数据源外,还可
以用tMsDSN.u32里的函数:tMsDBRegistister(4,dbType,dblist)
3试题测试程序的设计
利用多媒体创作软件Authoware来制作和合成试
题测试总体程序.考题测试模块利用ODBC与数据源
链接,Autheware提供的外部函数ODBCOpenf)来打开
数据库.然后再使用标准SQL语言对数据库进行读取
题目,程序判断对错后,给出相应的成绩,最后使用
ODBCClose()函数关闭数据库.
3.1打开数据库
ODBCOpen()是Authorware提供的外部调用的
DLL函数,由ODBC.U32文件提供.用户需要预先装载
到程序的函数窗口中,其作用是打开与指定数据源相
关的测试题目数据库.
database:=“dans”
odbchandle:=ODBCOpen(windowshandle.errorvar,
database,…’,”“)
Odbchandle是自定义变量,用于返回函数ODB—
COpen()的执行结果.
3.2读取考题记录
要读取数据库里的考题记录,首先定义SQL语句,
然后用ODBCExecute()函数执行相应的SQL语句.定
义SQL语句:程序先提供一个难度交互人口.用来确定
要读取题目的难度.然后再根据难度来读取相应的记
录.在数据库中.难度字段为ID,当ID=I时为初级,ID=
2时为中级,ID=3时为高级.语句如下:
sendtextl0:=“select【tm]fromtkwhereid=l”
sendtextl1:=“select【da]fromtkwhereid=l”
2O?51
电脑知识与技术??????数据库与信息管理?
sendtextl2:=“select『db1fromtkwhereid=l”
sendtextl3:=“select『dc1fromtkwhereid=l”
sendtextl4:=“select『dd1fromtkwhereid=l”
sendtextl5:=“select『an1fromtkwhereid=l”
sendtextl0一sendtextl5为自定义变量.分别用于记
录SQL语句.SQL为通用的数据库查询和设计语言,有
关语法在这里不便详述.值得注意的是在Authorware
中,select语句的字段选取要用”?”号括起来,这是与其
它数据库软件不同.tk为选择题的数据库表名,id在表
中是表示难度的字段,id=l表示难度为”初级”.上述语
句的作用是定义SQL语句,并赋予变量,其含义是将测
试题库中的难度为初级的单选题读出.
“中级”难度以及”高级”难度的题目读取的SQL语
句只要把上述语句中的ID改为2或3即可.
执行SQL语句:
odbcdata10:=ODBCExecuteqodbchandle,sendtextl0)
odbcdatal1:=ODBCExecuteqodbchandle,sendtextl1)
odbcdata12:=ODBCExecuteqodbchandle,sendtextl2)
odbcdata13:=ODBCExecuteq,odbchandle,sendtext13)
odbcdata14:=ODBCExecuteqodbchandle,sendtext14)
odbcdatal5:=ODBCExecuteq,odbchandle,sendtext15)
nlines:=LineCount(odbcdata101
ODBCExecute()函数是Authorware提供的外部调
用的DLL函数,由ODBC.U32文件提供,用于执行已定
义的SQL语句的操作(参数sendtextl0一sendtext15为
已定义好的SQL语句),并返回获取的数据库记录,每
个记录以回车标记分开.
LineCount()函数是系统函数,作用是返回指定字
符串的总行数,包括空白行.第二个参数缺省情况下,
是按回车标记找出字符串的行数.
上述语句的作用是:执行SQL语句.从数据库中读
取出记录,并计算记录数,把记录数赋给变量nlines,即
总的题数.
3.3题目的抽取与显示
先用函数产生一个随机数作为题号,再抽取出一
个题目赋给一个变量.然后用一个显示图标把题目显
示出来.
产生随机数:num:=Random(1,nlines,1)
变量”Bum”的值是1一nlines之间的一个随机数.
抽取题目:
rec10:=GetLine(odbcdata10,Bum)
rec11:=GetLine(odbcdata11,num)
rec12:=GetLine(odbcdata12,Bum)?
rec13:=GetLine(odbcdata13,Bum)
rec14:=GetLine(odbcdata14,Bum)
rec15:=GetLine(odbcdata15,Bum)
rec10一recl5是自定义变量,Getline()是系统函
2电奠知识与技术
数,含义是从字符串中取出某一行的内容.该段程序的
作用是从试题库的记录中取出随机数对应的记录,按
字段依次存放在recl0一recl5变量中.
显示题目:
当一道题被从题库中抽取出来后,我们可用一个
显示图标将它显示出来.显示一个题目背景,然后在上
面设置变量{recl0),rec11),{reel2),{rec13),{reel4),分
别表示题目,答案1,答案2,答案3,答案4.并且不要
忘了设置显示图标的变量实时刷新.
3.4用户答案的判断
要判断用户答案的正确与否,先要读取数据库中
的正确答案,再与用户所作出的答案相比较,得出成
绩.从上面的讲述可知,变量recl5存放题目的正确答
案,因而可在程序中放一计算图标,其语句内容如下:
ifrecl5=lthen
no:=l
endif
ifreel5=2then
no:=2
endif
ifrec15=3then
no:=3
endif
ifrec15=4then
no:=4
endif
以上语句根据变量recl5(存储正确答案)的值得
出变量no的值,以便和用户所作的答案进行比较.
用户答案的交互反馈:在题目的各个答案选项前
设置单选按钮,然后加一个”确定”按钮和二个条件响
应交互.二个条件响应交互用来确定用户答案正确与
错误的走向.”确定”按钮下有一计算图标,内容如下:
ifChecked@”A”=TRUEthen
sele:=l
endif
ifChecked@”B”=_TRUEthen
sele:=2
endif
ifChecked@”C”=TRUEthen
sele:=3
endif
ifChecked@”D”=TRUEthen
sele:=4
endif
以上语句的作用是当用户按下”确定”按钮后.开
始捕抓用户的选择答案,并把其存储在自定义变量”se.
1e”中,供后面的条件交互分支作为条件激活的对象.
对ADO.NET中DataReader对象的探讨
胡振
南充职业技术学院.四川南充637000
摘要:DataR.eader是ADO.NET数据模型中的一个重要成员,在以各
种基于.NET平台的程序语言开发数据库
应用程序时,可使用该类对象从数据库中检索数据.与DataSet对象
相比,DataReader对象不支持对数据库的离线访
问和处理操作,但它在数据访问速度和内存占用等方面却更具优势.
因此,在数据库应用程序中合理地使用
DataReader对象,可以提高程序的数据库处理性能.
关键词:AD0.NET;DataR.eader;数据库;检索
中图分类号:TP311文献标识码:A
1用ADO.NET处理数据库的过程
在.NET平台上开发数据库应用程序时,需要使用
ADO.NET数据模型对数据库进行访问和处理.ADO.
NET是.NETFrameWorkSDK提供的数据库操作组件,
其中主要包括两大类型的类库:DataProvider(数据提
供者)和DataConsumer(数据使用者).DataProvider类
库中定义了Connection(连接),Command(命令),
DataReader(数据阅读器)和DataAdapter(数据适配器)
等类.而DataConsumer类库则由DataSet(数据集),
DataTable(数据表),DataRow(数据行)和DataColumn
(数据列)等类组成.在数据库应用程序中.Data
Provider类的对象负责对数据源的连接,读取和更新,
而DataConsumer类的对象则用于数据的具体处理.它
们各司其职,分工协作,共同完成对数据库的操作(如
图1)
一
图1ADO.NET对象访问数据库示意图
一
般情况下.用ADO.NET操作数据库的基本步骤
是:
?用Connection对象建立与数据源之间的连接;
?建立Command对象,以SQL语句实现对数据库
的查询以获取所需的数据:
?用DataAdapter对象将数据填充到DataSet对象
中:
?对DataSet中的数据进行各种具体处理;
?用DataAdapter对象将DataSet中的更新数据写
二个条件响应的激活条件分别为:sele=no以及se—
le<>no.从上述可知当用户的所选答案是正确的话,应
该有sele=no以激活该分支.正确答案分支与错误答案
分支可放一些反馈信息以及计算题目总数.
以上是一道题目的测试过程.如果要循环出题.则
应在前面有一循环判断图标,把题目的抽取与显示和
用户答案的判断等内容放在该图标里面.当然如果是
循环出题,则应该考虑到在随机抽题时,有可能出现的
随机数是前面已出现过的.也就是重复出题了,这应该
是要避免的.可通过这样的思路解决:设置一个数组,
在num:=Random(1,nlines,1)得到随机数后,先判断Bum
是否在数组中,若是不在,则可以抽题,并把Bum存人
数组中:若是Bum已在数组中,表示该题目已出过了.
则不能抽题
4结束语
本文对在大型课件当中试题库的建立做了简要的
介绍,主要是讲述利用数据库容量大,维护容易,易于
扩充等特点作为试题库,并通过ODBC接13与Au.
thoware软件之间连接,从而达到解决在用Authoware
软件进行课件制作中试题难以大量设计的问题的目
的.
参考文献:
【1]陈江龙,胡晓彬等编着.(Authorwar实战入门?新
概念》.中国水利水电出版社.
【2]崔杜武,王定坤,张烨,李家和编着.(Authorware
应用实例》.人民邮电出版社.
【3]宇风多媒体寒冰编着.((Authorware疑难解析》.
人民邮出版社.
收稿日期:2005年6月
瘴