| 
	| 〖文章分类:电脑·手机·网络 / 网站设计·开发·优化〗〖阅读选项〗 |  | 本文给你介绍一种在Flash中应用ASP技术实现数据库查询的新方法,它不但在客户端完全隐藏了.asp程序,而且Flash的易用性、图形化使你的网页与众不同。 基本原理
 1.Flash处理外部变量的方法
 Flash通过取Frame Properties中URL指定的文件所输出的字符串作为自身变量及其值,这个文件可以是CGI程序或ASP程序,输出的字符串必须定义成如下的格式:
 company=Macromedia&address=600+Townsend&
 city=San+Francisco&zip=94103
 
 这个字符串导入到Flash后,分成4个变量并赋予不同的值,即:
 
 利用ASP中Server.URLEncode方法很容易实现这种格式;另外你也可以通过编程来实现:
 < %@Language=“VBScript”% >
 < %
 option explicit
 dim var(3),i,count
 i=0
 count=3
 var(0)=“Red”
 var(1)=“Yellow”
 var(2)=“Blue”
 do while i< count
 response.write“var”&i&“=”&var(i)&“&”
 i=i+1
 loop
 response.write“i=”&i
 % >
 
 执行这个ASP程序的结果是:
 var0=Red&var1=Yellow&var2=Blue&i=3
 2.在ASP和Flash之间传递数据
 当你的ASP程序产生上述格式的字符串以后,可以使用 Load variables (“myscript.asp",0)的动作描述将其传入到Flash中(如图1):
 
 其中,0表示装入动画的层为第一层,1表示第二层,以此类推。
 使用Load variables (“myscript.asp",0,vars=POST) 动作描述,ASP可用以下两种方法实现从Flash中取出数据 :
 1、Request.Form(“flash_var_1")
 2、Request(“flash_var_1")
 
 使用Load variables (“myscript.asp",0,vars=GET) 动作描述,ASP从Flash中取出数据的方法:
 Request.QueryString(“flash_var_1")
 实例制作
 下面我们就以电话查询为例,制作一个网页。
 1.创建数据库
 打开ACCESS 2000,创建名为yjytelep.mdb的数据库,设计一个本单位职工电话情况的表,表名为yjytelep,格式如下:
 
 将表和数据库保存到指定目录中,如C:\testasp\。
 2.用Flash制作网页
 ①打开Flash 4,在Frame 1中创建电话查询的画面,如图2。在文本编辑框上右击鼠标→Properties→Varible输入变量名namestr;为阻止动画向下播放,在Frame 1→Properties→Action中选“STOP”,这样,只有当你输入姓名并按 “查询”按钮,动画才继续播放。“查询”按钮上右击鼠标→Properties→Action描述为:
 On( Release)
 Go to and Play (2)
 End On
 
 
 ②创建Frame 2,是一个blank keyframe,Action描述为:
 Load variables (“yjytelep.asp", 0, vars=GET)
 
 ③Frame 3-8创建的是一个动画,告诉用户ASP程序正在执行查询,如图3所示。
 
 Frame 3的Action描述为:
 If (handnum ne“")
 Go to and Stop (9)
 End If
 Frame 8的Action描述为:
 Go to and Play (3)
 
 这样,只有ASP程序查询了所有的记录并返回一个完整的记录时,才执行Frame 9。
 ④Frame 9为结果画面,如图4所示。
 
 在“姓名”下方创建5个文本编辑框,其变量名分别为 name、utelnum、ptelnum、callnum、handnum。创建一个“返回再查”的按钮,Action 描述为:
 On (Release)
 Go to and Stop (1)
 End On
 
 ⑤保存这个Flash文件在C:\testasp中,文件名为: yjytelep.fla。然后点击File→Publish,生成yjytelep.html和 yjytelep.swf。到此,Flash的工作已经做完,接下来要编写ASP程序了。
 3.编写ASP程序
 打开记事本,输入以下程序并将其保存到C:\testasp中,文件名为:yjytelep.asp。
 < %@Language=“VBScript"% >
 < %
 Dim oRS, oConn
 Set oRS = Server.CreateObject(“ADODB.Recordset")
 Set oConn= Server.CreateObject
 (“ADODB.Connection") oConn.ConnectionString =
 “Driver={Microsoft Access Driver (*.mdb)};DBQ=
 ”& Server.MapPath(“yjytelep.mdb")
 oConn.Open
 oRS.Open “SELECT * FROM yjytelep", oConn, 2, 3
 oRS.Find “Name= ‘" & Request.QueryString
 (“namestr") & “"
 If oRS.EOF Then
 Response.Write “Name=查无此人&utelnum=-&ptelnum=
 -&callnum=-&handnum=-"
 Else
 Response.Write “Name=" & Server.URLEncode(oRS
 (“Name")) & “&utelnum=" & Server.URLEncode
 (oRS(“utelnum")) & “&ptelnum=" & Server.URLEncode
 (oRS(“ptelnum"))& “&callnum=" & Server.URLEncode
 (oRS(“callnum"))& “&handnum=" & Server.URLEncode
 (oRS(“handnum"))
 End If
 oRS.Close
 Set oRS = Nothing
 oConn.Close
 Set oConn = Nothing
 % >
 
 4.执行查询
 由于ASP程序只能在服务器端执行,所以一定要启动你的PWS或IIS,并将C:\testasp设为一个Web站点,否则将是一个没有结果的动画。好了,快点在你的浏览器中键入http://localhost/testasp/yjytelep.html吧(localhost指主机域名或IP 地址),其结果会令你耳目一新。
 
 |  | 文章作者:未知  更新日期:2006-05-13 |  | 〖文章浏览:〗〖发送文章〗〖打印文章〗 |  |  |  |