Authorware中的ODBC

2014-02-27 13:16张亚芬
网络安全技术与应用 2014年4期
关键词:字段群组数据源

张亚芬

(江苏省常州技师学院 江苏 257091)

0 引言

Authorware软件是一套多媒体开发工具,采用基于设计图标和流程图的程序设计方法,具有可以不写程序代码的特色,即使是非专业人员也能够使用它创作交互式多媒体程序。Authorware提供与开放式数据库连接(ODBC)连接,也可以实现对数据库的访问。在 Authorware安装目录下的HelpShowMeODBC.A7P,这是一个 ODBC的范例,介绍了ODBC的概念、使用方法和一个实例。本文详细分析这个小例子,借此介绍ODBC函数的使用方法。

ODBC开放式数据库连接(Open Database Connectivity),是一种编程接口,能使应用程序访问以结构化查询语言SQL作为数据访问标准的数据库管理系统。Authorware在使用ODBC访问数据库之前,需保证正确安装了相应数据库的驱动程序,而且建立了数据源(DSN)。

Authorware通过ODBC.U32提供了5个用于ODBC应用的函数。ODBCOpen函数打开指定的数据源,并返回数据源句柄;ODBCExecute函数对数据库进行查询并返回查询结果;ODBCClose函数关闭指定的ODBC数据源;ODBCHandleCount函数计当前使用的数据源句柄总数;ODBCOpenDynamic与ODBCOpen函数类似,但允许在程序运行过程中动态创建数据源。

介绍完 ODBC.U32中提供的外部函数之后,我们来分析一下Authorware 7.0中的范例ODBC.a7p,图1是该文件的流程图及交互图标“Retrive Data”的响应图标中的内容。群组图标“Run to View Documentation”中以菜单的形式介绍了ODBC的概念、相关知识及使用方法。主菜单的最后一项就是实例演示,即交互图标“Retrive Data”完成的功能,我们仅仅对此进行讨论。该交互图标提供了四个按钮响应,分别完成“Sorted Student List”(顺序显示学生记录)、“Top Score ”(显示最高分的记录)、“Find Student By ID# ”(通过ID号查找学生记录)、“Enter Student Data”(输入学生记录)四个功能。在ODBC.a7p中,最重要的部分其实是框架图标“Subroutines”,它完成Authorware与数据库的连接并获取数据。下面我们先分析交互图标四个响应图标中的内容:

图1 图标

1 Sorted Student List——按顺序显示学生记录

如图2所示,在计算图标中设置 SQL字符串DB_SQLString,从General表中按字段LastName升序显示字段LastName、FisrtName、M iddleName的内容。导航图标将程序跳转至框架结构中“Execute SQL Command”,在那里程序将连接数据库并获取数据库数据,执行结果通过DB_ODBCData变量返回到“Sorted Student List”,借助显示图标“Display Data”显示结果。

其余三个功能与该功能执行过程相似,均是响应图标中设置变量 DB_SQLString的内容,然后程序转到框架结构中完成数据库的访问,并返回数据回到响应图标显示结果。

图2 显示结果

2 Top Score——显示最高分的记录

结构与“Sort Student List”类似,计算图标中设置SQL字符串,从General表中按字段Score降序显示字段LastName、Score的内容。

3 Find Student By ID#——通过id查找学生记录

本功能要略复杂一些,首先显示所有记录的 ID号,并将ID号设置为热对象响应,用户单击其中某个ID号,显示该ID号对应记录的所有信息,实现数据库根据ID号查询的功能。该功能的结构如图3所示。

图3 功能结构

程序首先完成显示所有记录的ID号的功能,计算图标中设置SQL字符串,从General表中按字段StudentID升序显示字段StudentID的内容。

然后将显示图标“Display List”设置为热对象响应,使得用户可以通过单击某个ID号执行群组图标“Get Student ID#'s”的内容,第3层中的计算图标 “Get Student ID#'s”从General表中查找按字段StudentID等于用户本次单击的ID号的记录并显示该记录字段LastName、FisrtName、M iddleName的内容。

当用户单击了某个ID号后,首先完成变量DB_SQLString的设置,再次连接ODBC,得到查询结果(即某ID的记录结果)后返回,擦除“Display List”(即ID号列表),最后显示新结果(即某ID的记录结果)。

4 Enter Student Data——输入学生记录

本功能实现更新记录和追加新记录,结构如图4所示。程序首先执行计算图标“Get Existing ID's”和导航图标“导航到Execute SQL Command”,显示表 General中所有记录中字段StudentID的内容,其结果存放在变量DB_ODBCData中,群组图标“Update and Navigate”中将会使用该结果。

图4 记录

显示图标“Prompts”显示输入时相关的提示信息,然后利用三个群组图标“Enter an ID number”、“ Enter a name”、“ Enter a score”完成一条记录中字段 StudentID、FisrtName、M iddleName、LastName、Score内容的输入,主要通过文本输入响应来实现,条件响应可确保输入内容不为空,附属计算图标对输入的数据进行处理(如将输入的英文字母去除空格、转化为大写等等)。

图5 处理结果

输入数据后,程序执行群组图标“Update and Navigate”,结构如图5所示。在用户输入数据之前,数据库中所有记录的StudnetID字段的内容存放在变量DB_ODBCData中,用户输入的ID number存放在变量DB_StudnetID中,利用函数Find判断DB_ODBCData中是否包含了DB_StudnetID,即判断输入的ID号是否已经存在。若输入的ID号存在,则用于更新记录,若输入的ID号不存在,则插入一个新记录。接下来程序执行导航图标,访问数据库,执行相应的操作,即完成记录的更新或插入新记录。

最后,在计算图标“Get Student List”中设置字符串DB_SQLString,执行导航图标访问数据库,返回最新的数据结果,利用擦除图标擦除旧的显示结果,利用显示图标显示最新的结果。

分析完ODBC.a7p提供的四个功能后,我们讨论框架结构“Subroutines”,它是这个文件中最核心的部分,也是实现数据库访问的部分,如图6所示,页图标“Execute SQL Command”的结构非常简单,由四个计算图标和一个导航图标组成。

图6 最终结果

计算图标“open Database” 完成数据库的连接,若用户已经手工设置了ODBC数据源,第三行语句中的ODBCOpen函数实现连接数据库;若用户事先没有进行ODBC数据源的设置,此时 ODBCOpen函数返回值为0(即数据源连接失败),系统生成连接字符串 DB_ODBCConnet,利用倒数第二行语句中的ODBCOpenDynam ic函数实现动态连接数据源。所以本程序具有很好的移植性,拷贝至其他机器也可正常运行。

计算图标“Send SQL Command” 进行查询操作,并将查询结果存于变量DB_ODBCData中。

计算图标“Check for ODBC Error”判断是否连接出错,借助DB_ODBCError变量保存ODBC操作过程中可能出现的错误信息,初值为空串。若其值不为空串时,则表示ODBC操作失败。

计算图标“Close Database” 关闭数据源。

结束语:

Authorware 自带的ODBC实例就介绍到这里,希望能对大家有所帮助。在实际使用中,我们可以把ODBC.a7p程序图中除去群组图标“Run to View Documentation”部分外的所有图标复制到我们自己的程序中,然后将数据库文件名、字段名作相应的修改,就可以轻松完成ODBC的使用了。

猜你喜欢
字段群组数据源
图书馆中文图书编目外包数据质量控制分析
Boids算法在Unity3D开发平台中模拟生物群组行为中的应用研究
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
关于CNMARC的3--字段改革的必要性与可行性研究
分布式异构数据源标准化查询设计与实现
群组聊天业务在IMS客户端的设计与实现