65.9K
CodeProject 正在变化。 阅读更多。
Home

Flash 数据库访问

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.68/5 (21投票s)

2004年11月2日

3分钟阅读

viewsIcon

160042

downloadIcon

5451

如何使用 Flash 和 ASP 查询数据库。

RSSXML image

引言

Flash 是一种创建交互式网站的热门技术。 基本上,网站开发可分为三大类:

  • 静态网站
  • 动态网站
  • 交互式网站

动态网站和交互式网站的区别在于用户对网站的控制程度。 换句话说,如果用户可以做的不仅仅是更改页面的外观(动态),并且能够像使用生产力软件一样使用它,那么该网站可以归类为交互式网站。

Flash 能够轻松便捷地创建交互式网站。 Flash 拥有快速应用程序开发 (RAD) 类型的集成开发环境 (IDE),是交互式网站开发中最热门的选择。

本文讨论了如何使用 Flash MX 访问数据库。 请记住,Flash 无法直接访问数据库。 一种编程语言(本例中为 ASP)提供编程逻辑,而 Flash 在应用程序的表现层工作。

使用代码

zip 文件中包含五个文件

  • data.asp --> 编程逻辑
  • flashasp.fla --> Flash 源文件
  • flashasp.swf --> 编译后的 Flash 电影
  • flashasp.html --> 此文件用于执行应用程序
  • names.mdb --> MS-Access 数据库

要执行应用程序,您必须通过 Web 服务器调用 flashasp.html。 由于数据库将通过 ASP 访问,并且 ASP 请求必须通过 Web 服务器,因此也必须相应地访问 flashasp.html。 要测试应用程序,请使用如下 URL

https:///flashdb/flashasp.html

其中 flashdb 是应用程序所在的虚拟目录。

代码已完全注释,所有说明都包含在示例中。 请仔细阅读 readme.txt

关键代码注释

您在 Flash 文件中找到的最重要的代码位于“查找它”命令按钮的“动作”面板中。 看起来像这样

   on (release) {

    loadVariablesNum("data.asp?Record=" add myrecord, 0);

    myrecord="";

    firstName="";

    lastName="";

    City="";

    errorMsg="Please wait";

   }

第二个语句 loadVariablesNum("data.asp?Record=" add myrecord, 0); 是首先要注意的。 要通过 ASP 与 Flash 交互,我们需要在查询字符串中传递变量。 因此,基本上,我们正在调用 data.asp 并将查询字符串 Record 发送到它。 这将发送用户在搜索字段中键入的任何值。

一旦数据在查询字符串中发送,查询字符串值将由 ASP 使用 record=request("Record") 接收。 剩余的 ASP 代码仅用于连接到数据库、创建 RecordSet 对象、填充它并将数据发送回 Flash。

一旦 ASP 完成检索数据,您将再次需要您的老朋友,查询字符串。 以下 ASP 代码将附加查询字符串并将其传递给 Flash

Response.Write "errorMsg=Found&firstName=" & _
  server.URLEncode(objrecord.fields("firstName")) & "&" & _
  "lastName=" & server.URLEncode(objrecord.fields("lastName")) & "&" & _
  "City=" & server.urlencode(objrecord.fields("City"))

您必须记住,Flash 和 ASP 之间的所有消息传递都必须通过查询字符串完成。 如果未正确创建查询字符串,则应用程序将无法工作。

如何扩展代码

最重要的是:所有编程逻辑都驻留在 ASP 脚本中。 如果您熟悉 ASP,创建一个功能齐全的数据库应用程序 - 具有 updatedeleteinsert 查询 - 就像小菜一碟。 您所需要做的就是使用查询字符串在 Flash 和 ASP 之间传递值。

在表现层使用 Flash 的优势在于应用程序具有极高的技术性和专业的外观,同时保持较小的文件大小。

痛苦的教训

松散的查询字符串,或者说,不正确的查询字符串,会导致应用程序彻底失败。 Flash 并不关心您的应用程序逻辑是否没有所有错误 - 它只会接受查询字符串中的值。 经过数小时的尝试找出 ASP 的哪个部分需要重新修补后,结果发现查询字符串格式不正确。 因此,Flash 无法从 ASP 检索值。 你们必须注意这一点!

© . All rights reserved.