鄭 榮
[摘要]主要通過實例介紹在制作多媒體課件中如何引用Access數(shù)據(jù)庫的方法。
[關(guān)鍵詞]Authorware Access數(shù)據(jù)庫
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0920061-01
Authorware是Macromedia公司著名的多媒體開發(fā)工具,它不僅是眾多的公司、企業(yè)制作多媒體產(chǎn)品的開發(fā)平臺,更是很多大、中、小學(xué)教師制作多媒體CAI課件的得力工具。從目前對Authorware的應(yīng)用來看,大多數(shù)人還僅限于制作一些較簡單的多媒體課件,其實,Authorware結(jié)合Acces是可以開發(fā)出具有交互性的和多媒體數(shù)據(jù)庫特性的多媒體課件。如果將與程序相關(guān)的數(shù)據(jù)組織在數(shù)據(jù)庫中進行操作,將會使程序的靈活性、實用性大大增強。比如,可以將試題組織在一個試題數(shù)據(jù)庫中,通過Authorware進行隨機地抽取試題,學(xué)生答題完畢將成績保存到數(shù)據(jù)庫中;在一個人事檔案系統(tǒng)中,可以在數(shù)據(jù)庫中保存相關(guān)人員的姓名、性別、職稱等信息,通過用Authorware創(chuàng)建的交互界面來查詢其中的信息,并對存儲的信息進行處理。
結(jié)合實踐,我們總結(jié)出在多媒體課件制作中引用后臺數(shù)據(jù)庫可分為兩種情況。其一,在本機Access中建立數(shù)據(jù)庫表;其二,在課件作品中自動配置ODBC數(shù)據(jù)源。
一、在本機Access中建立數(shù)據(jù)庫表
下面通過實例說明如何對數(shù)據(jù)庫進行查詢操作,并將數(shù)據(jù)庫中的記錄顯示出來。
1.在Windows下安裝好Microsoft Access Driver(Access數(shù)據(jù)庫驅(qū)動程序)。
2.在Authware中新建一個文件,將其保存為:演示.a7p。
3.單擊常用工具欄上的函數(shù)按鈕,打開“函數(shù)“面板。
4.單擊“分類”下拉列表框,選擇“演示.a7p”,單擊“載入”按鈕,打開“加載函數(shù)”對話框,選擇函數(shù)Odbc.u32。
5.單擊“打開”按鈕,打開“自定義函數(shù)在Odbc.u32”對話框,按住CTRL鍵選中ODBCCLOSE、ODBCEXECUTE、ODBCOPEN 3個函數(shù),單擊“載入”按鈕,將所選函數(shù)加載到文件中。這3個函數(shù)必須一起使用,通過ODBCOPEN函數(shù)打開使用的數(shù)據(jù)庫,使用ODBCEXCUTE函數(shù)完成對數(shù)據(jù)庫的操作,最后使用ODBCCLOSE函數(shù)將數(shù)據(jù)庫關(guān)閉。一般情況下,每操作一個數(shù)據(jù)庫,要將這個函數(shù)先后調(diào)用,在打開第二個數(shù)據(jù)庫之前,必須將第一個數(shù)據(jù)庫關(guān)閉,不能同時打開多個數(shù)據(jù)庫。
6.向流程線上拖放一個計算圖標和一個顯示圖標。
7.計算圖標中的代碼如下:
databse:=“學(xué)生成績” --數(shù)據(jù)源名稱
sqlstring:=“select * from 成績”--查詢?nèi)坑涗?/p>
odbchandle:=odbcopen(windowHandle,“odbcerror”,database'')-- 打開數(shù)據(jù)源“學(xué)生成績”,不指定用戶名和密碼。
odbcdata::=odbcExecute(dbchandle,sqlstring)-- 對ODBC句柄進行操作
ODBCClose(odbchandle)-- 將數(shù)據(jù)庫關(guān)閉
8.顯示圖標中添加變量ODBCdata,{ODBCdata}存儲的是數(shù)據(jù)庫查詢的結(jié)果。
9.運行程序,實例效果為:1 王貞 16 69 85 2 張蒲 18 79 78 3 張瑞 16 57 96 4 李林鵬 16 88 59。
從上面的結(jié)果顯示我們可以看出數(shù)據(jù)庫中的數(shù)據(jù)在課件中被顯示出來,實現(xiàn)了課件與數(shù)據(jù)庫的連接。同時,我們還要注意,通過對數(shù)據(jù)庫操作完畢后,一定要使用ODBCClose函數(shù)將ODBC數(shù)據(jù)源關(guān)閉,否則其他應(yīng)用程序?qū)o法使用此ODBC接口。
二、在課件作品中自動配置ODBC數(shù)據(jù)源
前面配置ODBC數(shù)據(jù)源是在“ODBC數(shù)據(jù)源管理器”對話框中進行的,那么能否使用Authorware 函數(shù)實現(xiàn)ODBC數(shù)據(jù)源的自動配置呢?答案是肯定的。自動配置數(shù)據(jù)源的優(yōu)點是通過Authorware 編制的程序,打包成可執(zhí)行文件時,或刻錄成光盤,可以在其他電腦上直接運行,而不需要手動去配置數(shù)據(jù)源。
下面結(jié)合實例說明如何設(shè)在課件中自動配置數(shù)據(jù)源。
1.拖放一個計算圖標到流程線上,取名“window”,在其內(nèi)部輸入:
ResizeWindow(480,320)------重新設(shè)定當前演示窗口大小為480*320
2.拖放一個交互圖標到流程線上,取名“創(chuàng)建數(shù)據(jù)源”,再拖放一個計算圖標到交互圖標右側(cè),交互方式為“文本輸入”,分支取名為“*”,表示接受所有內(nèi)容的輸入,分支響應(yīng)為“退出交互”。在計算圖標中輸入如下語句:
MyDSN:=Entrytext
--把用戶鍵入和數(shù)據(jù)源名賦給自定義變量“MYDSN”
DbType:="MicrosoftAccessDriver (*.mdb)"--定義數(shù)據(jù)庫驅(qū)動程序的類型是“MicrosoftAccessDriver”
DbList:= "DSN "= "^MYDSN "; "
DbList:=dblist^ "Description=my odbc dsn; "
--對數(shù)據(jù)源的說明
Dblist:=dblist^"fil=MSAccess"
--說明數(shù)據(jù)源的類型是“Access” 數(shù)據(jù)庫
Dblist:=dblist^"DBQ="filelocation^"student.mdb; "
--與數(shù)據(jù)源相聯(lián)接的數(shù)據(jù)庫名為"student.mdb"
Result:=tMsDBRegister(4, dbType, dbList)
--創(chuàng)建一個新的系統(tǒng)數(shù)據(jù)源
3.拖放一個顯示圖標到到流程線上,取名為“結(jié)果提示”,右擊顯示圖標,在快捷菜單中選擇“計算”命令,在打開的計算圖標編輯器窗口中輸入如下語句:
IF result:=0 then
ODBCNAME:= "數(shù)據(jù)源創(chuàng)建失敗"
Else
ODBCNAME:= "數(shù)據(jù)源創(chuàng)建成功! "
End if
-- 根據(jù)數(shù)據(jù)源創(chuàng)建的情況分別給出不同的提示!
4.在顯示圖標中添加這兩個變量:{MYDSN}和{ODBCNAME}
5.拖放一個計算圖標到主流程線上,命名“打開數(shù)據(jù)庫”,其內(nèi)容如下:
ODBCHANDLE:=ODBCOPEN(WindowHandle,"ODBCError","studentDSN",,)
-- 打開數(shù)據(jù)源“studentDSN”,不指定用戶名和密碼
6.拖放一個交互圖標到主流程線上,再拖放1個群組圖標和一個計算圖標到交互圖標下,建立2個“按鈕”交互響應(yīng)分支,分別命名為“顯示記錄”、“退出程序”。
打開群組圖標,向子流程線上拖放一個計算圖標,命名為“取得記錄”,其內(nèi)容如下:
SQLString1:="select 姓名 from 成績 order by 語文+數(shù)學(xué)desc"
SQLString2:="select 年齡 from 成績 order by 語文+數(shù)學(xué)desc"
SQLString3:="select 語文 from 成績 order by 語文+數(shù)學(xué)desc"
SQLString4:="select 數(shù)學(xué) from 成績 order by 語文+數(shù)學(xué)desc"
SQLString5:="select 語文+數(shù)學(xué) as 總成績 from 成績order by 語文+數(shù)學(xué)desc"
data1:=ODBCExecute(odbchandle,SQLString1)
data2:=ODBCExecute(odbchandle,SQLString2)
data3:=ODBCExecute(odbchandle,SQLString3)
data4:=ODBCExecute(odbchandle,SQLString4)
data5:=ODBCExecute(odbchandle,SQLString5)
再拖放一個顯示圖標到子流程線上,命名為“顯示記錄”,輸入內(nèi)容如表1所示,其中字段“姓名”下輸入“{data1}”,“年齡”下輸入“{data2}”,“語文”下輸入“{data3}”,“數(shù)學(xué)”下輸入“{data4}”,“總成績”下輸入“{data5}”。
7.“退出”計算圖標中內(nèi)容如下:
ODBCCLOSE(ODBCHANDLE)
--關(guān)閉數(shù)據(jù)庫
quit()
至此,實例制作完畢。要注意在制作課件時建議一定采用自動數(shù)據(jù)源的配置方法。以便你的課件在不同的計算機上,在不同的操作人員手中均可使用。否則,會因找不到數(shù)據(jù)源以至無法正常使用課件的嚴重后果。
三、結(jié)束語
本文重點講述了在多媒體課件中設(shè)置數(shù)據(jù)庫的方法。因此,建議在制作課件時,一定要規(guī)劃好建立的數(shù)據(jù)庫、表及相關(guān)表字段。同時,注意在設(shè)計課件時注重課件的交互性,例如根據(jù)學(xué)生回答問題的順利程度,所用時間的長短,正確程度等,給出結(jié)論。結(jié)論的信息隨即記錄在用戶檔案中。
參考文獻:
[1]王大印、白海波編著,《Authorware 7.0多媒體制作實踐與提高》,清華大學(xué)出版社,2005.1.
作者簡介:
鄭榮(1974-),女,寧夏青銅峽市人,青海交通職業(yè)技術(shù)學(xué)院計算機系講師。