在Flash中实现与数据库的连接

一、引言                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
   Flash是MacroMedia公司专为网络应用设计的一个交互性矢量动画设计软件。网站设计者可以使用Flash为网站设计各种动态Logo动画、导航条以及全屏动画,还可以加入动感音乐,完全具备多媒体的各项功能。Flash以其体积短小,流体播放的特点迅速打开市场,将WWW上的站点页面设计带上了一个全新的高度。
   实现Web数据库的应用一般有两种方法:一种是Web服务器端提供中间件,连接Web服务器与数据库服务器;另一种是把应用程序下载到客户端直接访问数据库。最常用的中间件技术有通用网关接口(CGI)和应用程序编程接口(API)两种。CGI程序存在效率低、速度慢等缺点;而API很大程度上克服了CGI的缺点,但其兼容性差,开发难度大也让许多开发人员望而却步。客户端访问数据库主要包括JavaScript和数据库连接器(IDC)等。用JavaScript和IDC开发Web数据库虽然简单,但也存在功能有限、不能完全控制其过程等缺点,所以它们也无法胜任较复杂的Web数据库的开发。微软推出的ASP方案很好地解决了这些难题。
ASP(Active Server Page)是Microsoft公司推出的一种基于服务器端的脚本编程语言,它很容易和数据库连接。Flash与ASP的组合使网页功能更加强大,可以通过它们和数据库连接,能使我们的网站不仅具有强大的数据支持而且具有完美的交互界面。
为了实现Flash与数据库的连接,需要把Flash和ASP联系起来。可表示为图1。
 
1 Flash ASP 通讯的原理示意图
变量可以通过URL传递给Flash,这是一种GET方法,把变量传递给一个swf文件的具体实现是:
    <PARAM NAME=movie VALUE="myMovie.swf?myVariable=Text+of+my+variable">
接着文本"Text of my variable"将会出现在Flash的动画中指定的位置,我们只要把Flash所需要的数据准备好就可以实现与数据库的连接,然后利用Flash中的动画功能就可以做出既具有强大的数据处理能力又具有强大的交互能力的美观网页。
ASP和数据库的连接可用如下语句实现。
  Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
Connection.Open "people"
这样数据库就和ASP连接上,从而 Flash与数据库连接上去了。
在Flash中使用ASP必须满足以下条件:服务器端server必须支持Active Server Pages并且支持数据库;客户端必须安装Flash插件。
二、在Flash中使用数据库
第一步要做的是建立数据库。我们使用Access数据库为例,表名为Staff,有三个字段:ID (自动编号),  Known(Text) ,name (Text) 。这是一个用来示范用户名的数据库。
第二步就是建立一个Flash 5的动画。步骤如下:
(1)    建立三个text field.它们是用来显示数据用的。
(2)    把第一个text field的name设置为Input,它是用来接收输入数据的。
(3)    另外两个text field分别命名为KnownAs和Surname。
(4)    其它设置先为默认。
(5)    最后,从Flash的library中选择增加一个按钮 (应该是一个可重用的组件     ScrollBarButton ) 。这是很重要的一步,按钮将把输入的变量传递给ASP页面。到按钮的属性(Properties)上单击Action页,单击"+"号和On MouseEvent.勾上Release框。
(6)    再次单击"+"号和Load/Unload Movie.选择"Load Variables Into Location"在URL输入框内输入你的ASP文件名(例如flash.asp). 选择Target。
(7)    最后,选择Variables中的Send using POST, 单击"+"号来设置变量在Variable输入框内输入"Input"(就是第一个text field的name) 。当上面的工作都完成后,可以在action box内看到如下内容:
On (Release)
Load Variables ("flash.asp", "", vars=POST)
Set Variable: "Input" = ""
End On
这样当在动画过程中这个按钮被点击并释放后,Input输入框中的内容将被传递给flash.asp文件。注意Form是使用的post方式传递变量的。
(8) 建立一个HTML页面,在其中包含这个Flash动画文件。
第三步:ASP文件的代码
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
Connection.Open "people"   
SQL = "SELECT * FROM Staff WHERE ID=" & Request.Form("Input") & ";"
Recordset.Open SQL,Connection,1,2
If Recordset.EOF Then
KnownAs = "Not"
Surname = "Found"
Else
KnownAs = Recordset ("Known")
Surname = Recordset ("name")
End If
Recordset.Close
Connection.Close
response.write("KnownAs="+Server.URLEncode(KnownAs))
response.write("&Surname="+Server.URLEncode(Surname))
%>
需要注意的是在把KnownAs和Surname传递回去的写法,将是这样的
Known=Data1&Surname=Data2
使用Server.URLEncode(VariableName)来保证传递过去变量的是按照 URL格式编码的。
参考文献
1、  陈怡杰,Flash 5动态网页设计精粹,清华大学出版社, 2001   
2、  唐青松,颜亮, ASP应用开发全攻略宝典,中国铁道出版社,2001  
  
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值