CNTXJ.NET | 通信界-中国通信门户 | 通信圈 | 通信家 | 下载吧 | 说吧 | 人物 | 前瞻 | 智慧(区块链 | AI
 国际新闻 | 国内新闻 | 运营动态 | 市场动态 | 信息安全 | 通信电源 | 网络融合 | 通信测试 | 通信终端 | 通信政策
 专网通信 | 交换技术 | 视频通信 | 接入技术 | 无线通信 | 通信线缆 | 互联网络 | 数据通信 | 通信视界 | 通信前沿
 智能电网 | 虚拟现实 | 人工智能 | 自动化 | 光通信 | IT | 6G | 烽火 | FTTH | IPTV | NGN | 知本院 | 通信会展
您现在的位置: 通信界 >> 知本院 >> 文章正文
 
在Flash电影中访问Access数据库
[ 通信界 | eliu通信网 | www.cntxj.net | 2004/6/1 ]
 

简介

  Macromedia的Flash总是被用来制作花里胡哨的网站序幕,用户一般都会跳过这一部分。而Flash 5能够与ASP或其他的由服务器生成的网页进行连接。
  这篇文章将讨论如何将Flash电影与Access数据库进行连接、使用ASP网页查询数据库并将查询得到的信息传递给Flash电影。我们将通过创建一个简单的Flash地址簿来详细说明这一技术。
  在创建该地址簿时,我们需要下面的工具:Macromedia Flash 5、IIS 4.0或IIS 5.0和微软的Access数据库软件。
  基础知识
  Flash电影不能直接查询数据库,但它能够访问ASP网页,而ASP网页能够查询数据库。这就需要用到如下所示的Flash的ActionScript函数——loadVariables:
  loadVariables(URL, location);
  loadVariables函数能够获得指定的URL的内容,并使用这些内容设置Flash电影中的变量。这些内容必须符合MIME格式,例如,如果URL中包含有带有下列内容的网页:
  Var1=Test&Var2=Demo
  Flash电影中的变量Var1的值将被设置为“Test”,变量Var2的值将被设置为“Demo”。这些变量就可以通过Flash ActionScript来改变Flash电影。在我们的例子中,我们将使用这种方法从Access数据库中通过ASP网页向Flash电影电影中传输数据。
  数据库设计
  首先,我们来创建例子中使用的数据库。由于我们的地址簿非常地简单,因此数据库中只包含一个名字为Contacts的数据库表,该数据库表有5个字段:ContactID、Name、Telephone、City和Notes。  
 
  数据库表的名字是AddressBook.mdb,而且与我们下面将要创建的ASP网页和SWF文件存储在同一个目录中。(SWF文件是Flash动画电影的文件格式,目前有90%以上的互联网用户无须安装专门的插件就能够欣赏SWF格式的内容。)
  ASP设计
  下面我们来讨论从地址簿数据库表中读取记录的ASP网页代码:   
  
  上面的ASP网页代码能够从数据库表中读取记录,然后利用Server.URLEncode返回MIME格式的数据。
  我们的ASP网页代码的典型输出可能如下所示:
  
  提示:我们从ASP网页代码中多输出了一些信息(在数据库表字段之外),TotalRecords是指数据库字表中现有的记录数,它能够使Flash知道是否已经处理完了地址簿中的记录。
  我们的ASP网页代码将以GetDetail.asp的文件名与数据库表和Flash文件存储在同一个目录中。
  Flash设计
  有了数据库表和ASP网页代码,下面就该设计我们的地址簿应用的脸面━━Flash电影了。我们首先建立一个新的电影,并在其中插入一个空白的电影片断。
  该片断将被设计为我们的地址簿,它将包含有5个文本字段(用来显示我们的信息)和二个按钮(用来浏览记录的左右箭头)。我们的地址簿如下所示:
    
  文本字段将被创建为动态文本,每个文本字段将被赋给一个变量名字,这将使我们能够在ActionScript中控制它们的内容。
  我们在影片片断中加入一个动作,使影片加载完毕后,加载输出内容为第一个记录的ASP网页代码,实现这一功能的ActionScript如下所示:
  onClipEvent(load)
  {
  CurrentRecord = 0;
  loadVariables ("getdetails.asp?Record=0", this);
  }
  它只是简单地初始化了CurrentRecord变量(我们将使用它保存在地址簿中的位置),然后加载GetDetails.asp网页代码,该代码会加载第一个记录。
  loadVariables函数的一个重要特性是它的执行方式是异步的。也就是说,Flash在执行完loadVariables命令后,它不会停下来等待结果,数据没有必要在等待程序找到loadVariables函数之后的记录时才进行加载。因此,我们需要一种机制,让Flash电影在数据加载后更新文本字段。当Flash完成变量的加载后,就会执行这一动作。实现该功能的ActionScript代码:
  onClipEvent(data)
  {
  strName = Name;
  strTelephone = Telephone;
  strCity = City;
  strNotes = Notes;
  strPosition = "Record " add String(CurrentRecord+1) add " of " add String(TotalRecords);
  }
  上面的代码的作用是将从ASP网页代码中获取的变量传输到在Flash电影片断中添加的文本框中,它还会更新表明我们正在显示哪个记录的文本字段。
  最后,我们还需要给左、右箭头指定动作,这样才能对整个地址簿进行操作。下面是右箭头(移到下一条记录)的代码:
  on (release)
  {
  CurrentRecord++;
  if (CurrentRecord == TotalRecords)
  CurrentRecord = 0;
  
  loadVariables ("getdetails.asp?Record=" add String(CurrentRecord), this);
  }
  上面的代码对CurrentRecord执行加1操作,并检查是否已经超过了地址簿中的最后一个记录。如果已经超过了最后一个记录,则将CurrentRecord设置为0,返回地址簿中的第一个记录。代码然后从ASP网页中加载与记录相关的变量,记录加载后,Flash将再次调用onClipEvent(data),更新我们看到的文本框。
  左箭头(移到前一个记录)的代码与上面的代码基本上相同,但它将对CurrentRecord执行减1操作。
  至此,我们就全部完成了地址簿应用的设计工作。从浏览器中执行SWF文件后,它就会将第一个记录加载到Flash变量中(在onClipEvent(load)动作中),onClipEvent(load)就会更新向我们显示信息的文本字符框。
  点击任何一个导航按钮将会触发访问ASP网页代码、加载新记录的动作,然后就会执行onClipEvent(data)动作。下面是完成后的地址簿应用:
    
  结束语
  通过结合使用Flash和ASP,我们能够创建综合了Flash的图形功能和ASP的数据访问功能的解决方案。在本篇文章中,我们通过一个例子演示了如何将Flash电影与Access进行连接的技术。对其中的ASP代码进行适当的修改,我们就能够将Flash与SQL server或其他的数据库进行连接。

 

1作者:eliu通信网 来源:eliu通信网 编辑:顾北

 

声明:①凡本网注明“来源:通信界”的内容,版权均属于通信界,未经允许禁止转载、摘编,违者必究。经授权可转载,须保持转载文章、图像、音视频的完整性,并完整标注作者信息并注明“来源:通信界”。②凡本网注明“来源:XXX(非通信界)”的内容,均转载自其它媒体,转载目的在于传递更多行业信息,仅代表作者本人观点,与本网无关。本网对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。③如因内容涉及版权和其它问题,请自发布之日起30日内与本网联系,我们将在第一时间删除内容。 
热点动态
普通新闻 中信科智联亮相2023中国移动全球合作伙伴大会
普通新闻 全球首个基于Data Channel的新通话商用网络呼叫成功拨通
普通新闻 中国联通:以优质通信服务 助力“一带一路”共建繁华
普通新闻 杨杰:未来五年,智算规模复合增长率将超过50%
普通新闻 长沙电信大楼火灾调查报告发布:系未熄灭烟头引燃,20余人被问责
普通新闻 邬贺铨:生态短板掣肘5G潜能发挥,AI有望成“破局之剑”
普通新闻 工信部:加大对民营企业参与移动通信转售等业务和服务创新的支持力
普通新闻 摩尔线程亮相2023中国移动全球合作伙伴大会,全功能GPU加速云电脑体
普通新闻 看齐微软!谷歌表示将保护用户免受人工智能版权诉讼
普通新闻 联想王传东:AI能力已成为推动产业升级和生产力跃迁的利刃
普通新闻 APUS李涛:中国的AI应用 只能生长在中国的大模型之上
普通新闻 外媒:在电池竞赛中,中国如何将世界远远甩在后面
普通新闻 三星电子预计其盈利能力将再次下降
普通新闻 报告称华为5G专利全球第1 苹果排名第12
普通新闻 党中央、国务院批准,工信部职责、机构、编制调整
普通新闻 荣耀Magic Vs2系列正式发布,刷新横向大内折手机轻薄纪录
普通新闻 GSMA首席技术官:全球连接数超15亿,5G推动全行业数字化转型
普通新闻 北京联通完成全球首个F5G-A“单纤百T”现网验证,助力北京迈向万兆
普通新闻 中科曙光亮相2023中国移动全球合作伙伴大会
普通新闻 最高补贴500万元!哈尔滨市制定工业互联网专项资金使用细则
通信视界
邬贺铨:移动通信开启5G-A新周期,云网融合/算
普通对话 中兴通讯徐子阳:强基慧智,共建数智热带雨
普通对话 邬贺铨:移动通信开启5G-A新周期,云网融合
普通对话 华为轮值董事长胡厚崑:我们正努力将5G-A带
普通对话 高通中国区董事长孟樸:5G与AI结合,助力提
普通对话 雷军发布小米年度演讲:坚持做高端,拥抱大
普通对话 闻库:算网融合正值挑战与机遇并存的关键阶
普通对话 工信部副部长张云明:我国算力总规模已居世
普通对话 邬贺铨:我国互联网平台企业发展的新一轮机
普通对话 张志成:继续加强海外知识产权保护工作 为助
普通对话 吴春波:华为如何突破美国6次打压的逆境?
通信前瞻
亨通光电实践数字化工厂,“5G+光纤”助力新一
普通对话 亨通光电实践数字化工厂,“5G+光纤”助力新
普通对话 中科院钱德沛:计算与网络基础设施的全面部
普通对话 工信部赵志国:我国算力总规模居全球第二 保
普通对话 邬贺铨院士解读ChatGPT等数字技术热点
普通对话 我国北方海区运用北斗三号短报文通信服务开
普通对话 华为云Stack智能进化,三大举措赋能政企深度
普通对话 孟晚舟:“三大聚力”迎接数字化、智能化、
普通对话 物联网设备在智能工作场所技术中的作用
普通对话 软银研发出以无人机探测灾害被埋者手机信号
普通对话 AI材料可自我学习并形成“肌肉记忆”
普通对话 北斗三号卫星低能离子能谱仪载荷研制成功
普通对话 为什么Wi-Fi6将成为未来物联网的关键?
普通对话 马斯克出现在推特总部 收购应该没有悬念了
普通对话 台积电澄清:未强迫员工休假或有任何无薪假
普通对话 新一代载人运载火箭发动机研制获重大突破
推荐阅读
Copyright @ Cntxj.Net All Right Reserved 通信界 版权所有
未经书面许可,禁止转载、摘编、复制、镜像