Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

返回列表 發(fā)新帖
查看: 4771|回復(fù): 3
打印 上一主題 下一主題

[多媒體] [轉(zhuǎn)帖]在Flash電影中訪問(wèn)Access數(shù)據(jù)庫(kù)

[復(fù)制鏈接]

點(diǎn)擊這里給我發(fā)消息

跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2003-6-2 18:11:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
作者: Javis
簡(jiǎn)介
  Macromedia的Flash總是被用來(lái)制作花里胡哨的網(wǎng)站序幕,用戶一般都會(huì)跳過(guò)這一部分。而Flash 5能夠與ASP或其他的由服務(wù)器生成的網(wǎng)頁(yè)進(jìn)行連接。
  這篇文章將討論如何將Flash電影與Access數(shù)據(jù)庫(kù)進(jìn)行連接、使用ASP網(wǎng)頁(yè)查詢數(shù)據(jù)庫(kù)并將查詢得到的信息傳遞給Flash電影。我們將通過(guò)創(chuàng)建一個(gè)簡(jiǎn)單的Flash地址簿來(lái)詳細(xì)說(shuō)明這一技術(shù)。
  在創(chuàng)建該地址簿時(shí),我們需要下面的工具:Macromedia Flash 5、IIS 4.0或IIS 5.0和微軟的Access數(shù)據(jù)庫(kù)軟件。
  基礎(chǔ)知識(shí)
  Flash電影不能直接查詢數(shù)據(jù)庫(kù),但它能夠訪問(wèn)ASP網(wǎng)頁(yè),而ASP網(wǎng)頁(yè)能夠查詢數(shù)據(jù)庫(kù)。這就需要用到如下所示的Flash的ActionScript函數(shù)——loadVariables:
  loadVariables(URL, location);
  loadVariables函數(shù)能夠獲得指定的URL的內(nèi)容,并使用這些內(nèi)容設(shè)置Flash電影中的變量。這些內(nèi)容必須符合MIME格式,例如,如果URL中包含有帶有下列內(nèi)容的網(wǎng)頁(yè):
  Var1=Test&Var2=Demo
  Flash電影中的變量Var1的值將被設(shè)置為“Test”,變量Var2的值將被設(shè)置為“Demo”。這些變量就可以通過(guò)Flash ActionScript來(lái)改變Flash電影。在我們的例子中,我們將使用這種方法從Access數(shù)據(jù)庫(kù)中通過(guò)ASP網(wǎng)頁(yè)向Flash電影電影中傳輸數(shù)據(jù)。
  數(shù)據(jù)庫(kù)設(shè)計(jì)
  首先,我們來(lái)創(chuàng)建例子中使用的數(shù)據(jù)庫(kù)。由于我們的地址簿非常地簡(jiǎn)單,因此數(shù)據(jù)庫(kù)中只包含一個(gè)名字為Contacts的數(shù)據(jù)庫(kù)表,該數(shù)據(jù)庫(kù)表有5個(gè)字段:ContactID、Name、Telephone、City和Notes。
  
 


 
  數(shù)據(jù)庫(kù)表的名字是AddressBook.mdb,而且與我們下面將要?jiǎng)?chuàng)建的ASP網(wǎng)頁(yè)和SWF文件存儲(chǔ)在同一個(gè)目錄中。(SWF文件是Flash動(dòng)畫(huà)電影的文件格式,目前有90%以上的互聯(lián)網(wǎng)用戶無(wú)須安裝專門(mén)的插件就能夠欣賞SWF格式的內(nèi)容。)
  ASP設(shè)計(jì)
  下面我們來(lái)討論從地址簿數(shù)據(jù)庫(kù)表中讀取記錄的ASP網(wǎng)頁(yè)代碼:
  
  上面的ASP網(wǎng)頁(yè)代碼能夠從數(shù)據(jù)庫(kù)表中讀取記錄,然后利用Server.URLEncode返回MIME格式的數(shù)據(jù)。
  我們的ASP網(wǎng)頁(yè)代碼的典型輸出可能如下所示:

  
  
  提示:我們從ASP網(wǎng)頁(yè)代碼中多輸出了一些信息(在數(shù)據(jù)庫(kù)表字段之外),TotalRecords是指數(shù)據(jù)庫(kù)字表中現(xiàn)有的記錄數(shù),它能夠使Flash知道是否已經(jīng)處理完了地址簿中的記錄。
  我們的ASP網(wǎng)頁(yè)代碼將以GetDetail.asp的文件名與數(shù)據(jù)庫(kù)表和Flash文件存儲(chǔ)在同一個(gè)目錄中。
  Flash設(shè)計(jì)
  有了數(shù)據(jù)庫(kù)表和ASP網(wǎng)頁(yè)代碼,下面就該設(shè)計(jì)我們的地址簿應(yīng)用的臉面━━Flash電影了。我們首先建立一個(gè)新的電影,并在其中插入一個(gè)空白的電影片斷。
  該片斷將被設(shè)計(jì)為我們的地址簿,它將包含有5個(gè)文本字段(用來(lái)顯示我們的信息)和二個(gè)按鈕(用來(lái)瀏覽記錄的左右箭頭)。我們的地址簿如下所示:
 
  


 
  
  文本字段將被創(chuàng)建為動(dòng)態(tài)文本,每個(gè)文本字段將被賦給一個(gè)變量名字,這將使我們能夠在ActionScript中控制它們的內(nèi)容。
  我們?cè)谟捌瑪嘀屑尤胍粋(gè)動(dòng)作,使影片加載完畢后,加載輸出內(nèi)容為第一個(gè)記錄的ASP網(wǎng)頁(yè)代碼,實(shí)現(xiàn)這一功能的ActionScript如下所示:
  onClipEvent(load)
  {
  CurrentRecord = 0;
  loadVariables ("getdetails.asp?Record=0", this);
  }
  它只是簡(jiǎn)單地初始化了CurrentRecord變量(我們將使用它保存在地址簿中的位置),然后加載GetDetails.asp網(wǎng)頁(yè)代碼,該代碼會(huì)加載第一個(gè)記錄。
  loadVariables函數(shù)的一個(gè)重要特性是它的執(zhí)行方式是異步的。也就是說(shuō),F(xiàn)lash在執(zhí)行完loadVariables命令后,它不會(huì)停下來(lái)等待結(jié)果,數(shù)據(jù)沒(méi)有必要在等待程序找到loadVariables函數(shù)之后的記錄時(shí)才進(jìn)行加載。因此,我們需要一種機(jī)制,讓Flash電影在數(shù)據(jù)加載后更新文本字段。當(dāng)Flash完成變量的加載后,就會(huì)執(zhí)行這一動(dòng)作。實(shí)現(xiàn)該功能的ActionScript代碼:
  onClipEvent(data)
  {
  strName = Name;
  strTelephone = Telephone;
  strCity = City;
  strNotes = Notes;
  strPosition = "Record " add String(CurrentRecord+1) add " of " add String(TotalRecords);
  }
  上面的代碼的作用是將從ASP網(wǎng)頁(yè)代碼中獲取的變量傳輸?shù)皆贔lash電影片斷中添加的文本框中,它還會(huì)更新表明我們正在顯示哪個(gè)記錄的文本字段。
  最后,我們還需要給左、右箭頭指定動(dòng)作,這樣才能對(duì)整個(gè)地址簿進(jìn)行操作。下面是右箭頭(移到下一條記錄)的代碼:
  on (release)
  {
  CurrentRecord++;
  if (CurrentRecord == TotalRecords)
  CurrentRecord = 0;
  
  loadVariables ("getdetails.asp?Record=" add String(CurrentRecord), this);
  }
  上面的代碼對(duì)CurrentRecord執(zhí)行加1操作,并檢查是否已經(jīng)超過(guò)了地址簿中的最后一個(gè)記錄。如果已經(jīng)超過(guò)了最后一個(gè)記錄,則將CurrentRecord設(shè)置為0,返回地址簿中的第一個(gè)記錄。代碼然后從ASP網(wǎng)頁(yè)

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2003-6-2 18:21:00 | 只看該作者
good! 收了
3#
發(fā)表于 2003-6-2 19:08:00 | 只看該作者
要是能夠不需要服務(wù)器支持的話,flash絕對(duì)無(wú)敵
4#
發(fā)表于 2003-6-24 03:11:00 | 只看該作者
厲害。。。。。。。。。。。。。。。!
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 08:31 , Processed in 0.129704 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表