odbc(open database connectivity)接口,中文名為“開放式數據庫鏈接”接口,是microsoft公司推出的實現異構數據庫互連的標準。它對用戶屏蔽了不同數據庫之間的差異,從而可以使用戶利用標準的sql語言對各種不同的數據庫進行操作。authorware提供了一個支持標準odbc的數據庫接口,利用標準的sql語言幾可以對access、foxpro、dbase、orade、sybase、sql server等數據庫進行添加、刪除和查詢等基本操作。
一、在authorware中操作數據庫,必須具備以下條件。
1)所連接數據庫的odbc驅動程序。
2)odbc用戶代碼文件,即需要調用外部的ucd函數(odbc.u32或odbc.ucd)。
3)數據庫源文件,一般由數據庫軟件創建,也可以利用authorware新建和添加記錄。
odbc驅動程序是一種動態的鏈接庫,它含有可與各種不同數據庫相連接的函數,每種數據庫類型都有單獨的驅動程序,如圖4-15所示。
圖4-15 odbc驅動程序
二、用戶使用的每個odbc驅動程序都必須包含基本系列的函數,基本的功能如下。
1)提供數據庫的鏈接;
2)準備和執行sql語句;
3)處理事務的功能;
4)返回結果集;
5)通知應用程序的錯誤信息。
在authorware中正常使用數據庫的兩個基本條件。
1)系統中的odbc驅動程序必須可用,其作用是用來連接一種數據庫。
2)必須建立odbc數據源,用來連接一種特殊類型的數據庫的odbc驅動程序配置。
配置odbc的方法一般有兩種,手動配置和自動配置。
一、利用windows的控制面板中的odbc管理應用程序來實現手動配置odbc數據源.
1)打開windows操作系統中的控制面板,找到“odbc數據源(32位)”圖標,雙擊它。
2)出現“odbc數據源管理器”,如圖4-16所示。一共有七個選項卡,這里的“dsn”是“date sourle name”(數據源名)的縮寫。
圖4-16 odbc數據源管理器
3)切換到“系統dsn”選項卡,可以看到這里已經有一個名為“ecdcmusic”的數據源,這里我們單擊【添加】按鈕來添加一個新的數據源。
4)出現“創建新數據源”對話框,如圖4-17所示。這里我們選擇數據源類型為“microsoft access driver (*.mdb)”,表示將引入微軟公司access軟件開發的數據庫文件。
圖4-17 創建新數據源對話框
5)單擊圖4-17中的【完成】按鈕,出現如圖4-18所示的對話框,在這里填入數據源的名稱,說明部分可以不填。
圖4-18 數據源的名稱對話框
6)在圖4-18中我們還可以為數據源選擇指定的數據庫文件,單擊【選擇】按鈕,將會彈出對話框,在這里我們選擇“e:/aw7/u32/odbc/ student.mdb”作為源數據庫,然后單擊【確定】按鈕。
7)在圖4-19中我們會看到紅框部分,說明加載數據庫已經成功。
圖4-19 數據庫已加載
8)數據源創建成功后,出現如圖4-20所示的對話框,紅的矩形框部分就是我們剛才創建的名為“myodbc”的數據源,單擊【確定】按鈕完成。
圖4-20 “myodbc”的數據源
二、在authorware中調用“tmsdsn.u32”函數實現odbc數據源的自動配置。
自動配置數據源的優點:通過authorware編制的程序,打包成可執行文件時,可以在其他機子上直接運行,而不需要手動去配置數據源。
1.外部函數tmsdsn.u32介紹。
數據源的配置主要是運用了tmsdsn.u32中的tmsdbregister()函數,其語法結構介紹如下。
result:=tmsdbregister(dbreqtype,dbtype,dblist)
參數設置完畢,運行程序,如果新數據庫創建成功,result變量的返回值是1,否則返回0。
2.數據源自動創建實例。
1)程序的流程圖如圖4-21所示。
圖4-21 自動創建數據源流程圖
2)只要創建一個文本交互,這個文本交互是讓用戶輸入數據源的名稱,交互下的計算圖標是根據用戶輸入的數據源名稱創建一個數據源。在“*”計算圖標中輸入如下內容:
mydsn:=entrytext
把用戶鍵入的數據源名賦給自定義變量“mydsn”。
dbtype:="microsoft access driver (*.mdb)"
定義數據庫驅動程序的類型是“microsoft access driver”。
dblist:="dsn="^mydsn^";"
設置新建的數據源名為用戶鍵入的名稱。
dblist:=dblist^"description=my odbc dsn;"
對數據源說明。
dblist:=dblist^"fil=ms access;"
說明數據源的類型是“access”數據庫。
dblist:=dblist^"dbq="^filelocation^"student.mdb;"
與數據源相連接的數據庫名為“student.mdb”。
result:=tmsdbregister(4,dbtype,dblist)
創建一個新的系統數據源。
3)顯示圖標“結果提示”上附加的計算圖標是用來判斷數據源的創建結果的,你也可以通過控制面板中的“odbc數據源(32位)”來查看創建的結果,在“結果提示”上附加的計算圖標中輸入如下內容:
if result:=0 then
odbcname:="數據源創建失敗!"
else
odbcname:="數據源創建成功!"
end if
根據數據源創建的情況分別給出不同的提示!
authorware中沒有針對數據庫直接操作的函數,因此,需引入外部函數odbc.u32來提供數據庫操作功能,odbc.u32一共提供了3個函數,下面來一一介紹。
1)odbcopen():打開數據庫函數。
語法格式:
odbchandle:=odbcopen(windowhandle,errorvar,
datebase,user,password)
此函數是用來打開指定的數據庫“datebase”,各個參數介紹如下:
例如:
odbchandle:=odbcopen(windowhandle,"",
"hb_dsn","","")
2)odbcexecute():對數據庫進行操作的語句。
語法格式:
odbcdate:= odbcexecute (odbchandle,
sqlstring)
odbcexecute()返回字符串的長度不能大于30 000個字節,如果大于這個值,系統將提示出錯信息,返回的字符串被削減為30 000bytes以內。因為在authorware中,字符串型變量的最大長度不能超過30 000bytes,所以如果庫中的記錄很多(總字節數超過30 000bytes),就必須分多次查詢,保持每次查詢結果集的長度小于30 000bytes。
3)odbcclose()
格式:odbcclose(ocbchandle)
功能:操作完成后,關閉當前打開的數據庫。
ocbchandle是指authorware所提供的odbc控制句柄。
注:當數據庫操作完畢后,一定要及時用odbcclose(ocbchandle)函數關閉數據庫,否則操作其他數據庫或其他的應用程序都將無法使用odbc接口。
新聞熱點
疑難解答