当前位置:七道奇文章资讯设计学堂Flash设计
日期:2009-04-04 00:08:00  来源:本站整理

<b>FLASH结合ASP数据库的利用</b>[Flash设计]

赞助商链接



  本文“<b>FLASH结合ASP数据库的利用</b>[Flash设计]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在谈论例子之前,先理解Flash和Asp结合的原理,其实懂一点ASP的朋友都知道ASP是基于HTML的.Flash和Asp接口的原理和纯ASP文件之间交互的原理是一样的,简单地说就是页面之间的数据交换.

  而在页面之间传送数据我们是通过函数实现的:

LoadVariables(Flash4版本) / loadVariablesNum(Flash5版本、FlashMX版本)

  语法:

loadVariables (url ,location [, variables]);
loadVariablesNum (url ,location [, variables]);

  参数:

url 是需求载入的s脚本文件位置.
location ,载入到swf的位置.
variables 是表示能否需求传送参数,有post和get两种选项.

  阐明:

  Flash的一个很重要的本领,与外部文件举行数据交换,假如能用好这一点,这无疑是扩大了 Flash 的利用范围.

  Flash 能承受的变量格局为: 变量名=变量值 ,FLASH 支持多变量承受, 将上格局的多个变量辨别用 & 脱离便可.而承受变量的办法有三种.

  第一:Flash可以直接承受HTML文件的变量.

  办法以下

  1.把调用swf文件的那条语句:

<param name=movie value="您的swf文件.swf">
改成:<param name=movie value="您的swf文件.swf?变量名=变量值">

  此时,swf文件中就可以承遭到变量.

  2.假如要在同一个HTML文件中传送多个变量则书写格局为:

<param name=movie value="您的swf文件.swf?变量名1=变量值1&变量名2=变量值2&变量名3=变量值3">.

  3.运行HTML文件,便可以在swf中直接显示或引用变量了.

  (实际利用时,‘?’后直接跟‘&变量名’,才能将值传送过去)

  上面是通过html里调用swf带参数的办法来实现向flash中传送参数的,但flash与外部文件“联姻”的最典型办法是直接读取是TXT文件和cgi , php , asp文件.前者可在客户机运行,后者要服务器支持.这就要我们目前讲的号令load Variables了,下面我们就来说讲具体的实现历程.

  第二:从TXT文件中读取变量:

  1.成立一个TXT文件,文件中的变量书写格局为:

  m1=这是FLASH读取TXT文件

  此中“m1” 是变量名,“这是FLASH读取TXT文件” 是变量值.

  2.假如要在同一个TXT文件中设置多个变量则书写格局为:

m1=data1 & m2=data2.......

  3.设Actions

  挑选"Load Variables Into Location"

  在URL输入框内输入你的TXT文件名(比方sunyue.txt).注意假若有途径的话一定要加上相对或绝对途径.

  全部Actions以下:

loadVariablesNum ("sunyue.txt", "0")

  在图中我们可以看的越发清楚.

  这样今后便可以在flash中直接显示或引用m1,m2 …等变量了.需求注意的是这些变量必须是用在load Variables 号令里定义的MC层中,在上例,m1 ,m2 … 就都存在于level 0 层.

  第三:从CGI,PHP,ASP文件中读取变量:

  关于这些后台程序语言,这里不预备作具体介绍,只讲触及FLASH读取部份的内容.其实原理也很简单,就象上面的从文本文件中读入数据一样,只要这些后台程序的履行后果也就是显示“变量名=该变量的值&…” 便可以了.

  打比方,假如是CGI,就是 print “变量名=该变量的值&…”;PHP, 就是 echo “变量名=该变量的值&…”;假如是ASP,那么当然就应当是 Response.Write “变量名=该变量的值&…” 了.而具体的调用历程,和上面的调用从txt文件中调用一样,只不过把flashtxt.txt文件换成你的***.cgi, ***.php, ***.asp 文件就行了.

  讲到这里,我们还可以讲一个Load Variables和后台程序的别的一个用法―传送变量,当我们在利用编写html页面的时刻,常常会用到通过post表单向后台程序发送数据,实在flash中,我们一样可以做到这一点.

  我们可以看到和从txt,或别的文件中取出数据一样,前面两项还是本来的文件地址和所在的MC层,唯一差别的是在最后一个选项上用了Send using Post .这样的话,在flash中的定义的全部变量(当然也是要在location定义的呼应层里,在本例中是level 0 层) 便可以在呼应的后台程序中直接引用了,至于若何引用,办法和处理html的form中post 过去的变量办法一样.如php中可以直接引用,asp则是用Request.form("变量名")大概Reques.QueryString(“变量名”) 来引用该变量.

  假如相反,要从ASP中获得对应变量则可以利用GET 方法.(实际利用时无论利用GET还是POST都可以)

  理解了这个函数利用办法之后,我们来看看下面这个简单的例子:

  例一 成就查询

  这个例子是把Access内的数据读出来,并在Flash内显示出来.这个例子一共有三个主要文件,数据库文件score.mdb、Flash文件score.swf和ASP文件score.asp.

  这三个文件的关系是:

  我们操纵score.swf来制作查询界面,并将用户输入的数据,传送给score.asp.而score.asp将接纳到的数据和数据库score.mdb中存在的数据举行比对,并将后果回传给score.swf显示出来.

  一个是Access的数据库文件score.mdb,它有一个score表,有四个字段:

  ID,StudentName(姓名),CourseName(学科),ScoreMark(成就).

  目前我们就来看看这个例子的制作历程吧.

  第一个影帧,Action是Stop,有一个供用户输入查询字段的文本框:Input1、Input2、Input3(目前只利用一个),两个按钮,一个是“肯定”按钮,另一个是“撤消”按钮:

  “肯定”按钮的Action是:

on (release) {
gotoAndPlay(2);
}

  “撤消”按钮的Action是:

on (release) {
Input1 = "";
Input2 = "";
Input3 = "";
}

  第二个影帧的Action是:loadVariablesNum("score.asp", 0, "GET");
这个Action的作用是通过ASP文件把Access数据库内符合用户查询条件的数据读出来.

  第三个影帧的Action是:

if (StudentName ne "") {
gotoAndStop(9);
}

  意思是假如StudentName不等于空值的话,就跳到第九个影帧;不然将会履行下去(即播放下一个影帧).

  第4-7个影帧都没有Action哦.

  第八个影帧的Action是:

gotoAndPlay(3);

  假如没有符合的数据的话,就一向读到有为止;读到了就跳到第九个影帧哦.

  那么再来看看第九个影帧:

  一共有三个动态文本框:StudentName, CourseName,ScoreMark

  数据库内符合查询条件的数据将会显示在他们之中哦!

  还有一个“返回”按钮,它的Action是:

on (release) {
gotoAndStop(1);
}

  好了,再来看看score.asp这个文件吧:

Dim RS, Conn ' 定义两个变量
Set RS = Server.CreateObject("ADODB.Recordset") ' 定义RS为RECORDSET对象
Set Conn = Server.CreateObject("ADODB.Connection") '定义Conn为CONNECTION对象
Conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};
DBQ=" & Server.MapPath("score.mdb")
RS.Open "SELECT * FROM Score", Conn, 2, 3
' 翻开数据库哦
RS.Find " StudentName = '" & UCase(Request.QueryString("Input1")) & "'"
' 找到符合条件的数据
If RS.EOF Then ' 假如数据指针已到底
 Response.Write " StudentName=Not+Found&CourseName=Not+Found&ScoreMark=Not+Found"
 ' 就是没有找到符合条件的数据咯
 Else
  Response.Write " StudentName ="
  & Server.URLEncode(RS("StudentName "))
  & "&CourseName =" & Server.URLEncode(RS("CourseName "))
  & "&ScoreMark=" & Server.URLEncode(RS("ScoreMark"))
End If
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing ' 关闭并清空数据库对象

  例二 随机产生单词

  从数据库中随机抽取英文单词,举行锻炼,这个例子一共有三个主要文件,数据库文件word.mdb、Flash文件word.swf和ASP文件word.asp.

  这三个文件的关系是与例一类似.

  一个是Access的数据库文件word.mdb,它有一个word表,有四个字段:

  ID,word,explain,symbol.

  第一个影帧,Action是Stop,有一个“开始”按钮,它的Action是:

on (release) {
gotoAndPlay(2);
}
  第二个影帧的Action是:loadVariablesNum("word.asp", 0, "GET");
  这个Action的作用是通过ASP文件把Access数据库内符合用户查询条件的数据读出来.
  第三个影帧的Action是:
if (explain ne "") {
GotoAndStop(9);
}

  意思是假如explain不等于空值的话,就跳到第九个影帧;不然将会履行下去(即播放下一个影帧).

  第4-7个影帧都没有Action哦.

  第八个影帧的Action是:

GotoAndPlay(3);

  假如没有符合的数据的话,就一向读到有为止;读到了就跳到第九个影帧哦.

  那么再来看看第九个影帧:

  一共有四个文本框:word(显示精确英文单词、动态), explain(中文注释、动态),conclude(反馈精确/错误、动态)InputWord(用户输入英文),数据库内符合查询条件的数据将会显示在他们之中!

  “肯定”按钮,“肯定”按钮的Action是:

on (release) {
if (InputWord ne Word) {
conclude = "错误!";
} else {
conclude = "精确!";
}
}

  “投降”按钮,没有任何行动,只是开始时把精确答案遮住,当单击时显示下面的答案.还有一个“重试”按钮,“重试”按钮的Action是:

on (release) {
GotoAndStop(3);
}

  好了,再来看看word.asp这个文件吧:

Dim RS, Conn ' 定义两个变量
Set RS = Server.CreateObject("ADODB.Recordset") ' 定义RS为RECORDSET对象
Set Conn = Server.CreateObject("ADODB.Connection") ' 定义Conn为CONNECTION对象
Conn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};
DBQ=" & Server.MapPath("word.mdb")
Conn.Open
RS.Open "SELECT count(*) FROM word ", Conn, 2, 3
allnumber=RS.fields(0)
' 返回数据库中英文单词总量
RS.Close
RANDOMIZE
KeyWord=Int((allnumber-1+1)*Rnd)
' 从取随机数
RS.Open "SELECT * FROM word ", Conn, 2, 3
RS.Find "ID = " & KeyWord
' 查询ID等于随机数的对应的单词
If RS.EOF Then
Response.Write "Word=None&Explain=None"
' 没找到
Else
Response.Write "&Word=" & Server.URLEncode(RS("word"))& "&explain=" & Server.URLEncode(RS("explain"))
' 找到了后输出 ?不只何缘由必须利用“&word”不然无法传值
End If
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing ' 关闭并清空数据库对象


  以上是“<b>FLASH结合ASP数据库的利用</b>[Flash设计]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .