




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于ASP實(shí)現(xiàn)Flash對數(shù)據(jù)庫的訪問年愛華(蘭州市文科職業(yè)學(xué)校,甘肅蘭州)(蘭州大學(xué),甘肅蘭州)【摘要】Flash動(dòng)畫在課件制作、網(wǎng)頁設(shè)計(jì)中ASP與Flash技術(shù)得到了廣泛的應(yīng)用。ASP具有強(qiáng)大的數(shù)據(jù)庫處理功能,F(xiàn)lash能夠?qū)崿F(xiàn)交互性矢量動(dòng)畫,將FLASH與ASP相結(jié)合,實(shí)現(xiàn)FLASH與數(shù)據(jù)庫的連接和交互。其作品將具有一定的智能,功能和演示效果將會(huì)有質(zhì)的飛躍。本文對Flash與數(shù)據(jù)庫連接的實(shí)現(xiàn)方法進(jìn)行了初步的探討,介紹了Flash如何用LoadVars類與數(shù)據(jù)庫進(jìn)行通信。【關(guān)鍵詞】Flash;ASP;數(shù)據(jù)庫; LoadVars1 引言FLASH是MacroMedia公司專為網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)的一
2、個(gè)交互性矢量動(dòng)畫設(shè)計(jì)軟件。網(wǎng)站設(shè)計(jì)者可以使用FLASH為網(wǎng)站設(shè)計(jì)各種動(dòng)態(tài)Logo動(dòng)畫、導(dǎo)航條以及全屏動(dòng)畫,還可以加入動(dòng)感音樂,完全具備多媒體的各項(xiàng)功能。FLASH以其體積短小、流媒體播放的特點(diǎn)迅速打開市場,將WWW上的站點(diǎn)頁面設(shè)計(jì)帶上了一個(gè)全新的高度。ASP(Active Server Page)是Microsoft公司推出的一種基于服務(wù)器端的腳本編程語言,它很容易和數(shù)據(jù)庫連接。FLASH與ASP的組合使網(wǎng)頁功能更加強(qiáng)大,可以通過它們和數(shù)據(jù)庫連接,能使我們的網(wǎng)站或課件不僅具有強(qiáng)大的數(shù)據(jù)支持而且具有完美的交互界面。2 基本原理Flash不能直接查詢數(shù)據(jù)庫,但它能夠訪問ASP網(wǎng)頁,而ASP網(wǎng)頁能夠
3、查詢數(shù)據(jù)庫。為了實(shí)現(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ù)庫進(jìn)行交互的原理如圖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í)獲取成功數(shù)據(jù)加載、進(jìn)度指示和流數(shù)據(jù)的驗(yàn)證信息。LoadVa
4、rs類的工作原理非常類似于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)下載到目標(biāo)對象。3.2 LoadVars類的主要屬性LoadVars.contentType:指示數(shù)據(jù)的MIME類型。LoadVars.loaded:指示load或sendAndLoad操作是否已完成的布爾值。3.3 LoadVars類的事件處理函數(shù)LoadVars.onData:
5、當(dāng)數(shù)據(jù)從服務(wù)器上完全下載時(shí),或當(dāng)從服務(wù)器下載數(shù)據(jù)的過程中出現(xiàn)錯(cuò)誤時(shí)調(diào)用。LoadVars.onLoad:當(dāng)完成load或sendAndLoad操作時(shí)調(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)用一個(gè)簡單的學(xué)生信息查詢和錄入系統(tǒng)來舉例說明Flash和數(shù)據(jù)庫連接
6、技術(shù)應(yīng)用于網(wǎng)絡(luò)課件制作的具體方法。本實(shí)例中所建立的數(shù)據(jù)庫文件、ASP文件和Flash動(dòng)畫文件應(yīng)放在同一個(gè)文件夾。在程序的設(shè)計(jì)中將LoadVars對象簡稱為LV。4.1 數(shù)據(jù)庫的設(shè)計(jì)本數(shù)據(jù)庫以Microsoft Access為例,在實(shí)際應(yīng)用中如果是SQL Server或其他數(shù)據(jù)庫,雖然連接數(shù)據(jù)庫的方法稍有不同,但處理方法相同。建立一個(gè)數(shù)據(jù)庫,取庫名叫student.mdb。在庫中創(chuàng)建表stud。stud設(shè)計(jì)如表1:字段名稱數(shù)據(jù)類型字段寬度ID自動(dòng)編號(hào)默認(rèn)值學(xué)號(hào)文本8姓名文本6性別文本2地址文本50出生日期文本10表1 stud表的表結(jié)構(gòu)4.2 編寫ASP文件 與數(shù)據(jù)庫的鏈接文件conn.inc,
7、用記事本直接編輯保存后改擴(kuò)展名。<%/建立一個(gè)數(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);%> 根據(jù)flash輸入的數(shù)據(jù)進(jìn)行查詢數(shù)據(jù)并將查詢結(jié)果顯示在flash中,查詢文件為chaxun.asp。<%lang
8、uage="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)建一個(gè)“記錄集”,它的任務(wù)是存儲(chǔ)從數(shù)據(jù)庫里提取出來的的數(shù)據(jù),并執(zhí)行數(shù)據(jù)庫查詢r(jià)s=conn.execute(sql)if(!rs.EOF)
9、/獲取數(shù)據(jù)庫中的字段內(nèi)容 var xuehao=rs("學(xué)號(hào)") var xingming=rs("姓名") var xingbie=rs("性別") var dizhi=rs("地址") var csrq=(rs("出生日期") else xingming="查無此人"/將查詢出來的內(nèi)容輸出flash中去,必須以&分隔Response.Write("&xh_asp="+xuehao)Response.Write("&xm
10、_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()%> 把flash錄入界面的數(shù)據(jù)保存到數(shù)據(jù)庫中,如果你的系統(tǒng)WinXP磁盤格式是NTFS, 點(diǎn)擊“工具”->“文件夾選項(xiàng)”->“查看”,找到“使用簡單文件共享(推薦)”這項(xiàng),把前面的勾
11、去掉。選擇數(shù)據(jù)庫文件右鍵->屬性->“安全”的選項(xiàng)卡,添加一個(gè)用戶“INSR_計(jì)算機(jī)名”,在組或用戶名中會(huì)出現(xiàn)Internet來賓賬戶,權(quán)限設(shè)為“完全控制”,這樣數(shù)據(jù)保存到數(shù)據(jù)庫時(shí)就不會(huì)出錯(cuò)了;如果為了簡單起見,可以添加Everyone用戶,其插入數(shù)據(jù)文件名為insert.asp。<%language="javascript"%><!-#include file="conn.inc"-><%/讀FLASH傳遞過來的數(shù)據(jù)var xh=Request("lr1")var xm=Request(&q
12、uot;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 (學(xué)號(hào),姓名,性別,地址,出生日期) values ('"+xh+"','"+xm+"','"+xb+"','"+dz+"','&qu
13、ot;+csrq+"')"/注意:上面的這個(gè)sql語句在程序中一行書寫conn.execute(sql1)/將結(jié)果返回到flash中,必須以&分隔Response.Write("&fanhui=數(shù)據(jù)插入成功!")/關(guān)閉連接對象conn.Close()%>4.3 Flash的設(shè)計(jì) 新建一個(gè)Flash文檔,任意命名,在第一幀制作學(xué)生信息查詢主界面,設(shè)置一個(gè)輸入文本并設(shè)置實(shí)例名稱為input1,和三個(gè)按鈕如圖2:圖2 學(xué)生信息查詢主界面在第一幀輸入如下代碼:System.useCodepage = true;/防止從ASP加載的數(shù)
14、據(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對象中儲(chǔ)存的所有變量都傳遞給ASP,不過這里只設(shè)定了一個(gè),就是“input_flash1”/向ASP傳遞成功后,我們再把從ASP傳遞回來的變量還儲(chǔ)存在“myload”對象中myload.sendAndLoad("chaxun.asp?bianliang="+ran
15、dom(9999), myload, "post");/對加載成功的處理myload.onLoad = function(success) if (success) /把a(bǔ)sp中查詢數(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)到第三幀查詢結(jié)果界面“重置”按鈕代碼如下:on (release) input
16、1.text="" ; “錄入”按鈕代碼如下:on (release) gotoAndStop(3);/跳轉(zhuǎn)到第三幀數(shù)據(jù)錄入主界面 在第二幀制作查詢結(jié)果界面,設(shè)置5個(gè)動(dòng)態(tài)文本并依次設(shè)置實(shí)例名稱為xh,xm,xb,csrq,dz和一個(gè)返回按鈕,如圖3:圖3 查詢結(jié)果界面“返回”按鈕代碼如下:on (release) gotoAndStop(1);/查詢結(jié)束后返回到查詢主界面可以繼續(xù)查詢 在第三幀制作數(shù)據(jù)錄入主界面,設(shè)置5個(gè)輸入文本并依次設(shè)置實(shí)例名稱為inputlr1,inputlr2,inputlr3,inputlr4,inputlr5和兩個(gè)按鈕,如圖4:圖4 數(shù)據(jù)錄入主界面
17、為突出講解flash與數(shù)據(jù)庫的數(shù)據(jù)的交互,在這里并沒有對錄入數(shù)據(jù)進(jìn)行合法檢查,在錄入合法數(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對象中儲(chǔ)存的所有變量都傳遞給ASP,在這里傳遞5個(gè)值/向ASP傳遞成功后,我們再把從ASP傳遞回來的變量還儲(chǔ)存在“l(fā)uru”對象中l(wèi)uru.sendAndLoad("insert.asp?b
18、ianliang="+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);/返回到第一幀 在第四幀制作數(shù)據(jù)錄入信息返回界面,設(shè)置一個(gè)動(dòng)態(tài)文本并設(shè)置實(shí)例名稱為insert1和一個(gè)返回按鈕,如圖5:圖5 數(shù)據(jù)錄入信息返回界面“返
19、回”按鈕代碼如下: on (release) gotoAndStop(1); 保存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ù)器使用的邏輯目錄名,與服務(wù)器上的物理目錄相對應(yīng),在IIS中對準(zhǔn)“默認(rèn)網(wǎng)站”單擊鼠標(biāo)右鍵,在快捷菜單中選擇【新
20、建】【虛擬目錄】命令/添加別名,并選擇已建立的文件夾。4.5 測試打開“Internet信息服務(wù)”,選擇虛擬目錄下flash發(fā)布生成的swf文件或html文件,右鍵/瀏覽就可以實(shí)現(xiàn)本機(jī)在網(wǎng)絡(luò)環(huán)境的測試。5 結(jié)束語本文介紹了如何通過ASP程序、Flash、Access數(shù)據(jù)庫實(shí)現(xiàn)根據(jù)用戶的要求讀取數(shù)據(jù)并發(fā)布。通過ASP實(shí)現(xiàn)了Flash與SQL數(shù)據(jù)庫的無縫連結(jié),并以網(wǎng)頁的形式進(jìn)行發(fā)布,可以方便具有訪問權(quán)限的網(wǎng)內(nèi)用戶在線瀏覽。并在Windows XP+Flash 8+IIS5.0下調(diào)試成功, 正如在這篇文章中所探索的,集成Flash和asp應(yīng)用軟件是完全有可能的,其關(guān)鍵是如何在Asp和Flash及數(shù)據(jù)庫之間建立數(shù)據(jù)通訊機(jī)制,如何連接這兩部分并在戰(zhàn)略上進(jìn)行正確的架構(gòu)策劃。【作者簡介】年愛華,1979年,甘肅,男,蘭州市文科職業(yè)學(xué)校中級(jí)教師,蘭州大學(xué)信息技術(shù)與工程學(xué)院在讀碩士研究方向:計(jì)算機(jī)技術(shù)。通訊地址:甘肅省蘭州市七里河區(qū)小西湖東街1號(hào),郵編:730050 【參考文獻(xiàn)】1劉明偉,黃興.Flash與后臺(tái)北京:清華大學(xué)出版社, 2007.2.2張大地.完全征服Flash動(dòng)畫設(shè)計(jì)北京: 人民郵電出版社, 2007.5.3蔡朝暉.Flash ActionScript互動(dòng)編程技術(shù)與實(shí)例M.北京:人民郵電出版社,2007.4徐緒堪.Flash8動(dòng)畫制作與Act
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 進(jìn)口美國大豆協(xié)議書
- 餐飲廢品處理協(xié)議書
- 門診輸液帶藥協(xié)議書
- 資產(chǎn)收購終止協(xié)議書
- 防火治安責(zé)任協(xié)議書
- 輕微事故理賠協(xié)議書
- 露營基地合同協(xié)議書
- 創(chuàng)世紀(jì)教育合作協(xié)議書
- 劇組住酒店合同協(xié)議書
- 門面出租押金協(xié)議書
- 《多樣的中國民間美術(shù)》課件 2024-2025學(xué)年人美版(2024)初中美術(shù)七年級(jí)下冊
- 撤銷限高和失信申請書
- DB33-T 2383-2021 《公路工程強(qiáng)力攪拌就地固化設(shè)計(jì)與施工技術(shù)規(guī)范》
- 車床工安全生產(chǎn)職責(zé)規(guī)章制度
- 2025年慶六一兒童節(jié)校長致辭(2篇)
- 房屋市政工程生產(chǎn)安全重大事故隱患排查表(2024版)
- 人教版小學(xué)數(shù)學(xué)五年級(jí)下冊全冊導(dǎo)學(xué)案
- 油庫設(shè)備維護(hù)規(guī)范
- 國企求職指南培訓(xùn)
- 職業(yè)道德與法治綜合練習(xí)2024-2025學(xué)年中職高教版
- 安委會(huì)辦公室主要職責(zé)
評論
0/150
提交評論