Flash平台的数据库应用方法

2013-12-13 08:35张忠华朱云云李红岩
中国医学教育技术 2013年6期
关键词:统计图按钮动画

张忠华,朱云云,李红岩

哈尔滨医科大学大庆校区,黑龙江 大庆 163319

Flash是MacroMedia公司专为网络应用设计的一个交互性矢量动画设计软件[1],凭借其简单易学、生成文件体积小、有丰富的多媒体表现以及强大的交互性控制等特点,在网络开发和动画设计领域一直占据着重要的一席之地。但其在数据库应用方面的表现却不尽如人意,功能相对简单,局限性很强,这是制约Flash向更加复杂应用方向发展的一个技术瓶颈。随着软件技术的不断更新,Flash CS3及以上版本支持的ActionScript 3.0具备丰富的SDK资源、规范化的代码编写方式、跨平台和广泛的用户群体,使得Flash在交互性等方面越来越强大[2]。目前,Flash可以通过多种中间语言,实现与数据库的连接通信,从而实现在客户端Flash动画的酷而炫的效果。然而,通过数据库数据来控制Flash动画,体现数据库中数据的特征,还没有很好的技术方法。所以,该课题的研究目的就是在Flash平台上,以ASP为“中介”,通过编写ActionScript脚本语言,实现对Access数据库的管理与应用,并通过数据库数据实时控制Flash动画,从而实现在多媒体教学、医学物理等研究方面复杂现象的模拟、疾病统计、仿真实验等领域的应用。

1 Flash连接数据库

1.1 Flash和Access通信原理

ASP(active server page)是Microsoft公司推出的一种基于服务器端的脚本编程语言,它很容易和数据库连接[3],加上Flash对ASP具有很好的兼容性,能够直接调用ASP文件,实现Flash对数据库读取、写入和修改的功能。要使用ASP实现Flash和数据库联接,就要实现双向的数据传输,既能够写入数据,又能够读取数据[4]。这样,Flash与数据库的连接可看成是三层架构:Flash是应用层,ASP是连接层,数据库是底层[5]。借助ASP,实现Flash与数据库通信,其基本原理如图1所示[6]。

1.2 建立ASP与数据库的连接通信

图1 Flash与数据库通信原理

首先,在Access中建立名为cancerdata的数据库,在cancerdata中新建diseaseinfo表,用于记录统计数据,有三个字段,分别为主键id(自动编号),年份dyear和发病数disdata。

接下来利用ASP读取数据库,在ASP中,用来存取数据库的对象统称ADO(active data objects),主要含有三种对象:Connection、Recordset、Command。其中Connection负责打开或连接数据,Recordset负责存取数据表,Command负责对数据库执行行动查询命令,连接各数据库的驱动程序;连接各数据库可以使用驱动程序(OLEDB),相对来说使用OLEDB较为方便、简单,当然也可以使用数据源(ODBC)。ASP与ADO的充分结合,提供了强大的数据库访问功能,使之成为进行网上数据库管理的重要手段[7]。为了便于与Flash通信,在这里把从cancerdata数据库里读取的数据以XML格式显示在ASP页面中。

实现的核心代码如下:

1.3 建立Flash与ASP通信

在ActionScript 3.0中,使用 URLLoader与 URL Request加载XML格式的ASP取代了先前版本Load Vars方法,有关于网络操作的内置类全部在flash.net里。URLLoader是用于从网络或者本地读取文件;URL Request是传递变量到服务器以及URLLoader要加载的目标路径。在加载数据时用到侦听器,该文建议:flash player内置类的所有事件都用相关事件类常量来表示,推荐使用他们来注册事件侦听器,而所有的内置类的事件(Event)全部在flash.events包中。如使用:

2 绘制统计图,实现数据库数据对Flash动画的实时控制

Flash获得数据库的数据后,根据这些数据绘制对应的统计图。Flash的交互主要以按钮交互为主,而且可以把按钮交互置于动画之中,同时也可以在按钮上设计动画,这样使得其交互功能具有变化多端的特点[8]。在此,笔者的编写思路是:设置两个单选按钮,通过触发MouseEvent.CLICK事件,当选择柱状统计图,并点击查询按钮时,根据这些数据绘制柱状统计图;选择折线统计图时,绘制折线统计图(如图2所示)。

图2 折线统计图

以绘制柱状统计图为例,核心代码如下:

3 技术应用案例

疾病统计是从数量方面研究疾病在人群中发生、发展和流行分布的特点与规律,为病因学研究、防治疾病和评价防治工作效果提供科学依据。利用Flash与数据库的数据通信,可以将数据库数据以生动直观的图形、动画显示出来,以此应用到医学中的各种疾病统计及医学实验模拟中去。

图3 重大疾病统计图

该文中,将Flash与数据库间的数据通信技术应用到居民健康档案管理系统中,界面如图3所示(此图中的数据仅用做测试)。该界面设置了多个下拉列表作为筛选条件,两个单选钮控制统计图类型。通过设置统计条件,可以针对一定区域内,依据不同时间段、不同年龄段和性别等条件,实现对居民重大疾病发病数进行直观统计的功能。从统计图中可以分辨出某种疾病的高发年龄段、不同性别的重大疾病发病差异,以及不同时间段内的疾病发病情况,有利于对该区域内的居民健康状况做出相应评估,并对疾病的发病原因以及发展趋势进行科学分析,进而有针对性地监测高发疾病的发病情况,做好预防和管控工作,降低疾病发病率,提高预防工作效率。

4 结论

利用Flash制作动画或者构建Web站点时,数据库的应用是必不可少的。Flash只是用于前端显示数据和交互,因此在Flash中使用数据库的方法主要就是写好Flash数据库的读取变量,因此需要对实现各种变量的方法加以研究[9]。随着Flash技术的日益成熟和广泛应用,与数据库通信技术已成为人们研究的热点。通过ASP达到了Flash与Access数据库的无缝连接,并由此可以为Flash动态网页制作、Flash远程控制等提供基本技术支持[10],从而将Flash技术应用于更加广阔的领域。

[1]谢平.基于Flash与ASP交互的研究[J].北京教育学院学报:自然科学版,2008,3(6):7-13

[2]徐浙君,俞淑燕.基于ActionScript 3.0的游戏设计框架探索[J].计算机现代化,2010,(3):88-89

[3]年爱华.基于ASP实现Flash对数据库的访问[J].中国西部科技,2010,9(6):26-29

[4]谢江,任宏德.用ASP实现Flash和数据库联接[J].计算机与信息技术,2007,(17):83

[5]王鹏,张鸿凯,暴立宏,等.Flash和数据库连接在网络课件中的应用[J].科技信息,2008,(13):371-372

[6]胡本峰,赵辉.ASP动态网站开发从基础到实践[M].北京:电子工业出版社,2007:174-183

[7]王田,宋文强,肖嵛.基于ASP的Flash与Access数据库数据通讯的实现[J].重庆工学院学报:自然科学,2009,23(4):121-123

[8]冉华全,曾照芳.用Flash开发制作医学网络课程的研究[J].西北医学教育,2006,14(4):396-397

[9]谢富平.综述Flash与ASP连接数据库的应用方法[J].电脑开发与应用,2011,24(10):65-66

[10]胡芳芳,陈尧妃.Flash构建Web站点数据库应用技术研究[J].福建电脑,2008,(10):93

猜你喜欢
统计图按钮动画
当你面前有个按钮
Clifford hits the big screen
各式各样的复式条形统计图
做个动画给你看
动画发展史
我的动画梦
死循环
内心不能碰的按钮
如何选择统计图
与统计图有关的判断和说理问题