大家都知道,Director/Authorware在多媒体的动画、美观、易应性方面相比VB、VC++、PB、
VFP、Delphi等开发工具有巨大的优势,但本身对数据库的支持较弱。这里,笔者结合自己的开发实例对Director/Authorware中数据库应用的各种技术做一个全面宏观的介绍,至于具体的技术细节希望有机会以专题的形式详加阐述。
方案一:外部文本文件的读取分析
98年用Authorware开发《广州大典》是就采用此方法,当时有5000多条记录,要求能用关键字查
询;记得那时国内外支持Authorware查询数据库只有一个ODBC.U32,并且只能返回5条记录且易出错。没法子,后来采用了取巧的办法,用外部文本文件的形式保留记录,在Authorware中读取并比较,当然了,执行效率极差,为此还特意加了一个冒热气的咖啡动画,以取望梅止渴之功效。
方案二:列表与文本成员的运用
同方案一一样,这其实也不是真正的数据库查询,Director比Authorware在这方面要稍好一些,因为Director的Cast库与Cast成员(尤其是文本Cast)能够分类保留大量信息,国内外有一些技术文章专门谈到利用列表与文本Cast成员进行查询。
方案三:干脆直接调用数据库查询程序
我观察到,在有些项目开发中,有些就干脆直接在Director中调用一个用VFP或PB等写的数据库查询程序,但是在整体感觉与调用速度、效率方面都不尽如人意。
方案四:用DDE调用后台运行的数据库查询程序
这是在开发《广州出口商品交易会会刊》时采用的方法。DDE是windows早期支持的程序间进行通
信的一种机制,后来被OLE,COM所取代,虽然还被支持,但已不再被提倡使用。当时我们用VFP写了一个后台运行的数据库查询程序,通过国外某一大学免费开发的DDE插件来传递查询字符串以及返回字符串。但是存在传递的字符串有32K字节的限制以及占用系统资源较大的缺点,并且同方案三一样数据库查询操作是在另外的进程(程序)中进行。
方案五:采用Xml技术
最近以来,xml逐渐流行,Director在7.0版以后内置了一个Xmlparser插件可以对Xml格式文件
(或字符串)进行分析。我试过用VB写了一个Xml生成器,即直接把数据库转成为Xml文件再导入
到Director中,再用Xmlparser分析,我发现这种方法对英文能够支持,但操作次数过多会不断消耗内存直到死机;至于中文则根本不支持,不管我对Xml更换各种encoding(编码)方式也不行。Microsoft的XML NOTEPAD也是一样有此问题。
方案六:应用第三方专业的数据库操作xtra
国外常见的能在Director中操作数据库的插件有Datrgrip,V12,DaoTable等,都需要大笔美元注
册,购买比较麻烦。最近国内有人也在开发这方面的插件,如笔者开发的bitDBreader,它能动态添加的用户DSN,再通过ODBC来操作MS ACCESS数据库(很快将提供对各种格式数据库的全面支持),非常方便好用。