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接口。
新闻热点
疑难解答