介绍一种在Flash中应用ASP技术实现数据库查询的新方法


Posted on March 2, 2007


介绍一种在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: estasp。 

  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: estasp中,文件名为: yjytelep.fla。然后点击File→Publish,生成yjytelep.html和 yjytelep.swf。到此,Flash的工作已经做完,接下来要编写ASP程序了。 

  3.编写ASP程序 

  打开记事本,输入以下程序并将其保存到C: estasp中,文件名为: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: estasp设为一个Web站点,否则将是一个没有结果的动画。好了,快点在你的浏览器中键入http://localhost/testasp/yjytelep.html吧(localhost指主机域名或IP 地址),其结果会令你耳目一新。 


标签:N/A

其它推荐日志:

在水晶报表中如何显示一个变量的值

买神舟笔记本需要注意的几点

Discuz(php)的加密算法

数组名和数组名取地址的区别

IE8引发VS2005/2008向导出错的解决方案

.NET开发中的一些小技巧

Sun:Java+Vista没问题

如何理解LPCTSTR

巧用HyperLink绑定显示图片并设置图片大小

判断获取URL传递的参数是否为空(php)

.NET开发者在Vista下应该考虑的五个安全问题(转)

技巧:Adobe CS3安装程序在2003和XP SP1下无法安装的解决办法

setjmp和longjmp函数使用详解

VS2003/VS2005 常用快捷键

一行代码杜绝iframe挂马

字符串常量到底存放在哪个存储区

对select标签的误解!

打到一个很有用的的显IP代码!分享一下!

无法启动World Wide Web Publishing服务的解决方法

推荐三个有用的web开发工具

仿XP关机效果的弹出窗口功能

搜集几个免费ASP空间,不能保证其时效性,仅供参考实践用!

HOW TO:利用 Visual C# .NET 使 Word 自动新建文档

动态创建GridView的列 ( 转载 )

关于linkbutton点击后弹出新窗口的代码

获取当前URL地址例子(PHP)

数据类型转换(for c++)

将VIEWSTATE保存在服务器端,减少网络传输负载

【FTP】批处理上传文件至FTP服务器上某个目录下

ASP.NE操作Word部署时,System.UnauthorizedAccessException 的解决方案

如何理解LPCTSTR

Excel中利用VBA实现批量设置文本的上标

关于lvalue required as left operand of assignment

在关键字 ''User'' 附近有语法错误。

防君子,不防小人--咱也谈谈Base64编码

vs2008【断点无效】解决方法

FLASH连接数据库

安装SQL Server 2005开发版时出现性能计数器要求安装错误

如何定时载入另一个网页内容?

RowState即是Alternate又是Edit的状态判断语法


Search
最新评论
推荐日志
微信扫一扫