基于ASP實現(xiàn)Flash對數(shù)據(jù)庫的訪問(共8頁)_第1頁
基于ASP實現(xiàn)Flash對數(shù)據(jù)庫的訪問(共8頁)_第2頁
基于ASP實現(xiàn)Flash對數(shù)據(jù)庫的訪問(共8頁)_第3頁
基于ASP實現(xiàn)Flash對數(shù)據(jù)庫的訪問(共8頁)_第4頁
基于ASP實現(xiàn)Flash對數(shù)據(jù)庫的訪問(共8頁)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于ASP實現(xiàn)Flash對數(shù)據(jù)庫的訪問年愛華(蘭州市文科職業(yè)學校,甘肅蘭州)(蘭州大學,甘肅蘭州)【摘要】Flash動畫在課件制作、網(wǎng)頁設(shè)計中ASP與Flash技術(shù)得到了廣泛的應(yīng)用。ASP具有強大的數(shù)據(jù)庫處理功能,F(xiàn)lash能夠?qū)崿F(xiàn)交互性矢量動畫,將FLASH與ASP相結(jié)合,實現(xiàn)FLASH與數(shù)據(jù)庫的連接和交互。其作品將具有一定的智能,功能和演示效果將會有質(zhì)的飛躍。本文對Flash與數(shù)據(jù)庫連接的實現(xiàn)方法進行了初步的探討,介紹了Flash如何用LoadVars類與數(shù)據(jù)庫進行通信?!娟P(guān)鍵詞】Flash;ASP;數(shù)據(jù)庫; LoadVars1 引言FLASH是MacroMedi

2、a公司專為網(wǎng)絡(luò)應(yīng)用設(shè)計的一個交互性矢量動畫設(shè)計軟件。網(wǎng)站設(shè)計者可以使用FLASH為網(wǎng)站設(shè)計各種動態(tài)Logo動畫、導航條以及全屏動畫,還可以加入動感音樂,完全具備多媒體的各項功能。FLASH以其體積短小、流媒體播放的特點迅速打開市場,將WWW上的站點頁面設(shè)計帶上了一個全新的高度。ASP(Active Server Page)是Microsoft公司推出的一種基于服務(wù)器端的腳本編程語言,它很容易和數(shù)據(jù)庫連接。FLASH與ASP的組合使網(wǎng)頁功能更加強大,可以通過它們和數(shù)據(jù)庫連接,能使我們的網(wǎng)站或課件不僅具有強大的數(shù)據(jù)支持而且具有完美的交互界面。2 基本原理Flash不能直接查詢數(shù)據(jù)庫,但它能夠訪問A

3、SP網(wǎng)頁,而ASP網(wǎng)頁能夠查詢數(shù)據(jù)庫。為了實現(xiàn)Flash與數(shù)據(jù)庫的連接,需要把Flash和ASP聯(lián)系起來。Flash與數(shù)據(jù)庫的連接可看成是3層架構(gòu),Flash是應(yīng)用層,ASP是連接層,數(shù)據(jù)庫是底層。Fl ash利用A S P與數(shù)據(jù)庫進行交互的原理如圖1所示:客戶端(應(yīng)用層)服務(wù)器端(連接層)數(shù)據(jù)庫(底層)圖1 Flash應(yīng)用程序與asp、數(shù)據(jù)庫的關(guān)系數(shù)據(jù)請求數(shù)據(jù)調(diào)用原始數(shù)據(jù)文本數(shù)據(jù)XML數(shù)據(jù)ASP腳本Flash應(yīng)用程序數(shù)據(jù)庫3 LoadVars類介紹Flash提供的LoadVars類用于在Flash應(yīng)用程序和服務(wù)器之間傳輸變量??梢允褂肔oadVars類在下載時獲取成功數(shù)據(jù)加載、進度指示和流數(shù)

4、據(jù)的驗證信息。LoadVars類的工作原理非常類似于X M L類。3.1 LoadVars類的主要方法LoadVars.load():從指定的URL下載變量。LoadVars.send():將變量從LoadVars對象發(fā)布到U R L。LoadVars.sendAndLoad():將變量從LoadVars對象發(fā)布到U R L,并將服務(wù)器的響應(yīng)下載到目標對象。3.2 LoadVars類的主要屬性LoadVars.contentType:指示數(shù)據(jù)的MIME類型。LoadVars.loaded:指示load或sendAndLoad操作是否已完成的布爾值。3.3 LoadVars類的事件處理函數(shù)Loa

5、dVars.onData:當數(shù)據(jù)從服務(wù)器上完全下載時,或當從服務(wù)器下載數(shù)據(jù)的過程中出現(xiàn)錯誤時調(diào)用。LoadVars.onLoad:當完成load或sendAndLoad操作時調(diào)用。 3.4 HTTP 協(xié)議的 GET 或 POST 方法的簡單區(qū)別FLASH用GET傳送數(shù)據(jù),顯示數(shù)據(jù)名和值,在asp中接收flash值的函數(shù)是Request.QueryString("變量名");FLASH用POST傳送數(shù)據(jù)不顯示數(shù)據(jù)名和值,在asp中接收flash值的函數(shù)是Request("變量名")。4 Flash與數(shù)據(jù)庫連接的應(yīng)用現(xiàn)用一個簡單的學生信息查詢和錄入系統(tǒng)來舉例

6、說明Flash和數(shù)據(jù)庫連接技術(shù)應(yīng)用于網(wǎng)絡(luò)課件制作的具體方法。本實例中所建立的數(shù)據(jù)庫文件、ASP文件和Flash動畫文件應(yīng)放在同一個文件夾。在程序的設(shè)計中將LoadVars對象簡稱為LV。4.1 數(shù)據(jù)庫的設(shè)計本數(shù)據(jù)庫以Microsoft Access為例,在實際應(yīng)用中如果是SQL Server或其他數(shù)據(jù)庫,雖然連接數(shù)據(jù)庫的方法稍有不同,但處理方法相同。建立一個數(shù)據(jù)庫,取庫名叫student.mdb。在庫中創(chuàng)建表stud。stud設(shè)計如表1:字段名稱數(shù)據(jù)類型字段寬度ID自動編號默認值學號文本8姓名文本6性別文本2地址文本50出生日期文本10表1 stud表的表結(jié)構(gòu)4.2 編寫ASP文件4.2.1

7、與數(shù)據(jù)庫的鏈接文件conn.inc,用記事本直接編輯保存后改擴展名。<%/建立一個數(shù)據(jù)庫的鏈接對象conn=Server.CreateObject("ADODB.Connection");/用已經(jīng)建立的數(shù)據(jù)庫鏈接對象打開數(shù)據(jù)庫var connstr="driver=Microsoft Access Driver (*.mdb);dbq="+Server.MapPath("student.mdb");conn.Open(connstr);%> 4.2.2 根據(jù)flash輸入的數(shù)據(jù)進行查詢數(shù)據(jù)并將查詢結(jié)果顯示在flash中,查

8、詢文件為chaxun.asp。<%language="javascript"%><!-#include file="conn.inc"-><%/讀FLASH傳遞過來的數(shù)據(jù)var name=Request("input_flash1")/創(chuàng)建查詢數(shù)據(jù)庫的SQL語句var sql="SELECT * FROM stud where 姓名='"+name+"'"/創(chuàng)建一個“記錄集”,它的任務(wù)是存儲從數(shù)據(jù)庫里提取出來的的數(shù)據(jù),并執(zhí)行數(shù)據(jù)庫查詢rs=conn.

9、execute(sql)if(!rs.EOF) /獲取數(shù)據(jù)庫中的字段內(nèi)容 var xuehao=rs("學號") var xingming=rs("姓名") var xingbie=rs("性別") var dizhi=rs("地址") var csrq=(rs("出生日期") else xingming="查無此人"/將查詢出來的內(nèi)容輸出flash中去,必須以&分隔Response.Write("&xh_asp="+xuehao)Resp

10、onse.Write("&xm_asp="+xingming)Response.Write("&xb_asp="+xingbie)Response.Write("&dz_asp="+dizhi)Response.Write("&csrq_asp="+csrq)/關(guān)閉記錄集對象rs.Close()/關(guān)閉連接對象conn.Close()%>4.2.3 把flash錄入界面的數(shù)據(jù)保存到數(shù)據(jù)庫中,如果你的系統(tǒng)WinXP磁盤格式是NTFS, 點擊“工具”->“文件夾選項”->

11、“查看”,找到“使用簡單文件共享(推薦)”這項,把前面的勾去掉。選擇數(shù)據(jù)庫文件右鍵->屬性->“安全”的選項卡,添加一個用戶“INSR_計算機名”,在組或用戶名中會出現(xiàn)Internet來賓賬戶,權(quán)限設(shè)為“完全控制”,這樣數(shù)據(jù)保存到數(shù)據(jù)庫時就不會出錯了;如果為了簡單起見,可以添加Everyone用戶,其插入數(shù)據(jù)文件名為insert.asp。<%language="javascript"%><!-#include file="conn.inc"-><%/讀FLASH傳遞過來的數(shù)據(jù)var xh=Request(&quo

12、t;lr1")var xm=Request("lr2")var xb=Request("lr3")var csrq=Request("lr4")var dz=Request("lr5")/創(chuàng)建插入數(shù)據(jù)庫數(shù)據(jù)的SQL語句var sql1="insert into stud (學號,姓名,性別,地址,出生日期) values ('"+xh+"','"+xm+"','"+xb+"','&

13、quot;+dz+"','"+csrq+"')"/注意:上面的這個sql語句在程序中一行書寫conn.execute(sql1)/將結(jié)果返回到flash中,必須以&分隔Response.Write("&fanhui=數(shù)據(jù)插入成功!")/關(guān)閉連接對象conn.Close()%>4.3 Flash的設(shè)計4.3.1 新建一個Flash文檔,任意命名,在第一幀制作學生信息查詢主界面,設(shè)置一個輸入文本并設(shè)置實例名稱為input1,和三個按鈕如圖2:圖2 學生信息查詢主界面在第一幀輸入如下代碼:Sys

14、tem.useCodepage = true;/防止從ASP加載的數(shù)據(jù)出現(xiàn)亂碼var myload = new LoadVars();var luru = new LoadVars();/創(chuàng)建加載外部變量的對象,它可以用來發(fā)送、接收、裝載、處理數(shù)據(jù)stop();“提交”按鈕代碼如下:on (release) myload.input_flash1= input1.text;/將LV對象中儲存的所有變量都傳遞給ASP,不過這里只設(shè)定了一個,就是“input_flash1”/向ASP傳遞成功后,我們再把從ASP傳遞回來的變量還儲存在“myload”對象中myload.sendAndLoad(&qu

15、ot;chaxun.asp?bianliang="+random(9999), myload, "post");/對加載成功的處理myload.onLoad = function(success) if (success) /把asp中查詢數(shù)據(jù)庫的結(jié)果返回并顯示到flash中xh.text = myload.xh_asp;xm.text = myload.xm_asp;xb.text = myload.xb_asp;dz.text = myload.dz_asp;csrq.text = myload.csrq_asp;gotoAndPlay(2);/跳轉(zhuǎn)到第三幀查

16、詢結(jié)果界面“重置”按鈕代碼如下:on (release) input1.text="" ; “錄入”按鈕代碼如下:on (release) gotoAndStop(3);/跳轉(zhuǎn)到第三幀數(shù)據(jù)錄入主界面4.3.2 在第二幀制作查詢結(jié)果界面,設(shè)置5個動態(tài)文本并依次設(shè)置實例名稱為xh,xm,xb,csrq,dz和一個返回按鈕,如圖3:圖3 查詢結(jié)果界面“返回”按鈕代碼如下:on (release) gotoAndStop(1);/查詢結(jié)束后返回到查詢主界面可以繼續(xù)查詢4.3.3 在第三幀制作數(shù)據(jù)錄入主界面,設(shè)置5個輸入文本并依次設(shè)置實例名稱為inputlr1,inputlr2,in

17、putlr3,inputlr4,inputlr5和兩個按鈕,如圖4:圖4 數(shù)據(jù)錄入主界面為突出講解flash與數(shù)據(jù)庫的數(shù)據(jù)的交互,在這里并沒有對錄入數(shù)據(jù)進行合法檢查,在錄入合法數(shù)據(jù)的前提下,“提交”按鈕的代碼如下:on (release) luru.lr1= inputlr1.text;luru.lr2= inputlr2.text;luru.lr3= inputlr3.text;luru.lr4= inputlr4.text;luru.lr5= inputlr5.text;/將LV對象中儲存的所有變量都傳遞給ASP,在這里傳遞5個值/向ASP傳遞成功后,我們再把從ASP傳遞回來的變量還儲存在

18、“l(fā)uru”對象中l(wèi)uru.sendAndLoad("insert.asp?bianliang="+random(9999), luru, "post");/對加載成功的處理luru.onLoad = function(success) if (success) insert1.text=luru.fanhui; /asp執(zhí)行插入數(shù)據(jù)成功后,返回信息到flash中g(shù)otoAndStop(4); /數(shù)據(jù)錄入返回信息界面“返回”按鈕代碼如下:on (release) gotoAndStop(1);/返回到第一幀4.3.4 在第四幀制作數(shù)據(jù)錄入信息返回界面,設(shè)

19、置一個動態(tài)文本并設(shè)置實例名稱為insert1和一個返回按鈕,如圖5:圖5 數(shù)據(jù)錄入信息返回界面“返回”按鈕代碼如下: on (release) gotoAndStop(1);4.3.5 保存flash源文件,發(fā)布設(shè)置版本為Flash Player 8,ActionScript版本ActionScript2.0,發(fā)布生成swf文件和html文件。4.4 配置 IISIIS (Internet Information Services, Internet 信息服務(wù) ):基于 Windows 服務(wù)器的服務(wù),可幫助在任何 Intranet 或 Internet 上發(fā)布信息,。虛擬目錄是由 Web 服務(wù)

20、器使用的邏輯目錄名,與服務(wù)器上的物理目錄相對應(yīng),在IIS中對準“默認網(wǎng)站”單擊鼠標右鍵,在快捷菜單中選擇【新建】【虛擬目錄】命令/添加別名,并選擇已建立的文件夾。4.5 測試打開“Internet信息服務(wù)”,選擇虛擬目錄下flash發(fā)布生成的swf文件或html文件,右鍵/瀏覽就可以實現(xiàn)本機在網(wǎng)絡(luò)環(huán)境的測試。5 結(jié)束語本文介紹了如何通過ASP程序、Flash、Access數(shù)據(jù)庫實現(xiàn)根據(jù)用戶的要求讀取數(shù)據(jù)并發(fā)布。通過ASP實現(xiàn)了Flash與SQL數(shù)據(jù)庫的無縫連結(jié),并以網(wǎng)頁的形式進行發(fā)布,可以方便具有訪問權(quán)限的網(wǎng)內(nèi)用戶在線瀏覽。并在Windows XP+Flash 8+IIS5.0下調(diào)試成功, 正

21、如在這篇文章中所探索的,集成Flash和asp應(yīng)用軟件是完全有可能的,其關(guān)鍵是如何在Asp和Flash及數(shù)據(jù)庫之間建立數(shù)據(jù)通訊機制,如何連接這兩部分并在戰(zhàn)略上進行正確的架構(gòu)策劃。【作者簡介】年愛華,1979年,甘肅,男,蘭州市文科職業(yè)學校中級教師,蘭州大學信息技術(shù)與工程學院在讀碩士研究方向:計算機技術(shù)。通訊地址:甘肅省蘭州市七里河區(qū)小西湖東街1號,郵編: 聯(lián)系電話:0931-,電子郵箱:nah415【參考文獻】1劉明偉,黃興.Flash與后臺北京:清華大學出版社, 2007.2.2張大地.完全征服Flash動畫設(shè)計北京: 人民郵電出版社, 2007.5.3蔡朝暉.Flash ActionScript互動編程技術(shù)與實例M.北京:人民郵電出版社,2007.4徐緒堪.Flash8動畫制作與Act

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論