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