版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于ASP實(shí)現(xiàn)Flash對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)年愛(ài)華(蘭州市文科職業(yè)學(xué)校,甘肅蘭州)(蘭州大學(xué),甘肅蘭州)【摘要】Flash動(dòng)畫(huà)在課件制作、網(wǎng)頁(yè)設(shè)計(jì)中ASP與Flash技術(shù)得到了廣泛的應(yīng)用。ASP具有強(qiáng)大的數(shù)據(jù)庫(kù)處理功能,F(xiàn)lash能夠?qū)崿F(xiàn)交互性矢量動(dòng)畫(huà),將FLASH與ASP相結(jié)合,實(shí)現(xiàn)FLASH與數(shù)據(jù)庫(kù)的連接和交互。其作品將具有一定的智能,功能和演示效果將會(huì)有質(zhì)的飛躍。本文對(duì)Flash與數(shù)據(jù)庫(kù)連接的實(shí)現(xiàn)方法進(jìn)行了初步的探討,介紹了Flash如何用LoadVars類與數(shù)據(jù)庫(kù)進(jìn)行通信。【關(guān)鍵詞】Flash;ASP;數(shù)據(jù)庫(kù); LoadVars1 引言FLASH是MacroMedia公司專為網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)的一
2、個(gè)交互性矢量動(dòng)畫(huà)設(shè)計(jì)軟件。網(wǎng)站設(shè)計(jì)者可以使用FLASH為網(wǎng)站設(shè)計(jì)各種動(dòng)態(tài)Logo動(dòng)畫(huà)、導(dǎo)航條以及全屏動(dòng)畫(huà),還可以加入動(dòng)感音樂(lè),完全具備多媒體的各項(xiàng)功能。FLASH以其體積短小、流媒體播放的特點(diǎn)迅速打開(kāi)市場(chǎng),將WWW上的站點(diǎn)頁(yè)面設(shè)計(jì)帶上了一個(gè)全新的高度。ASP(Active Server Page)是Microsoft公司推出的一種基于服務(wù)器端的腳本編程語(yǔ)言,它很容易和數(shù)據(jù)庫(kù)連接。FLASH與ASP的組合使網(wǎng)頁(yè)功能更加強(qiáng)大,可以通過(guò)它們和數(shù)據(jù)庫(kù)連接,能使我們的網(wǎng)站或課件不僅具有強(qiáng)大的數(shù)據(jù)支持而且具有完美的交互界面。2 基本原理Flash不能直接查詢數(shù)據(jù)庫(kù),但它能夠訪問(wèn)ASP網(wǎng)頁(yè),而ASP網(wǎng)頁(yè)能夠
3、查詢數(shù)據(jù)庫(kù)。為了實(shí)現(xiàn)Flash與數(shù)據(jù)庫(kù)的連接,需要把Flash和ASP聯(lián)系起來(lái)。Flash與數(shù)據(jù)庫(kù)的連接可看成是3層架構(gòu),Flash是應(yīng)用層,ASP是連接層,數(shù)據(jù)庫(kù)是底層。Fl ash利用A S P與數(shù)據(jù)庫(kù)進(jìn)行交互的原理如圖1所示:客戶端(應(yīng)用層)服務(wù)器端(連接層)數(shù)據(jù)庫(kù)(底層)圖1 Flash應(yīng)用程序與asp、數(shù)據(jù)庫(kù)的關(guān)系數(shù)據(jù)請(qǐng)求數(shù)據(jù)調(diào)用原始數(shù)據(jù)文本數(shù)據(jù)XML數(shù)據(jù)ASP腳本Flash應(yīng)用程序數(shù)據(jù)庫(kù)3 LoadVars類介紹Flash提供的LoadVars類用于在Flash應(yīng)用程序和服務(wù)器之間傳輸變量。可以使用LoadVars類在下載時(shí)獲取成功數(shù)據(jù)加載、進(jìn)度指示和流數(shù)據(jù)的驗(yàn)證信息。LoadVa
4、rs類的工作原理非常類似于X M L類。3.1 LoadVars類的主要方法LoadVars.load():從指定的URL下載變量。LoadVars.send():將變量從LoadVars對(duì)象發(fā)布到U R L。LoadVars.sendAndLoad():將變量從LoadVars對(duì)象發(fā)布到U R L,并將服務(wù)器的響應(yīng)下載到目標(biāo)對(duì)象。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ù)的過(guò)程中出現(xiàn)錯(cuò)誤時(shí)調(diào)用。LoadVars.onLoad:當(dāng)完成load或sendAndLoad操作時(shí)調(diào)用。 3.4 HTTP 協(xié)議的 GET 或 POST 方法的簡(jiǎn)單區(qū)別FLASH用GET傳送數(shù)據(jù),顯示數(shù)據(jù)名和值,在asp中接收f(shuō)lash值的函數(shù)是Request.QueryString("變量名");FLASH用POST傳送數(shù)據(jù)不顯示數(shù)據(jù)名和值,在asp中接收f(shuō)lash值的函數(shù)是Request("變量名")。4 Flash與數(shù)據(jù)庫(kù)連接的應(yīng)用現(xiàn)用一個(gè)簡(jiǎn)單的學(xué)生信息查詢和錄入系統(tǒng)來(lái)舉例說(shuō)明Flash和數(shù)據(jù)庫(kù)連接
6、技術(shù)應(yīng)用于網(wǎng)絡(luò)課件制作的具體方法。本實(shí)例中所建立的數(shù)據(jù)庫(kù)文件、ASP文件和Flash動(dòng)畫(huà)文件應(yīng)放在同一個(gè)文件夾。在程序的設(shè)計(jì)中將LoadVars對(duì)象簡(jiǎn)稱為L(zhǎng)V。4.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)本數(shù)據(jù)庫(kù)以Microsoft Access為例,在實(shí)際應(yīng)用中如果是SQL Server或其他數(shù)據(jù)庫(kù),雖然連接數(shù)據(jù)庫(kù)的方法稍有不同,但處理方法相同。建立一個(gè)數(shù)據(jù)庫(kù),取庫(kù)名叫student.mdb。在庫(kù)中創(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 編寫(xiě)ASP文件 與數(shù)據(jù)庫(kù)的鏈接文件conn.inc,
7、用記事本直接編輯保存后改擴(kuò)展名。<%/建立一個(gè)數(shù)據(jù)庫(kù)的鏈接對(duì)象conn=Server.CreateObject("ADODB.Connection");/用已經(jīng)建立的數(shù)據(jù)庫(kù)鏈接對(duì)象打開(kāi)數(shù)據(jù)庫(kù)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傳遞過(guò)來(lái)的數(shù)據(jù)var name=Request("input_flash1")/創(chuàng)建查詢數(shù)據(jù)庫(kù)的SQL語(yǔ)句var sql="SELECT * FROM stud where 姓名='"+name+"'"/創(chuàng)建一個(gè)“記錄集”,它的任務(wù)是存儲(chǔ)從數(shù)據(jù)庫(kù)里提取出來(lái)的的數(shù)據(jù),并執(zhí)行數(shù)據(jù)庫(kù)查詢r(jià)s=conn.execute(sql)if(!rs.EOF)
9、/獲取數(shù)據(jù)庫(kù)中的字段內(nèi)容 var xuehao=rs("學(xué)號(hào)") var xingming=rs("姓名") var xingbie=rs("性別") var dizhi=rs("地址") var csrq=(rs("出生日期") else xingming="查無(wú)此人"/將查詢出來(lái)的內(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)閉記錄集對(duì)象rs.Close()/關(guān)閉連接對(duì)象conn.Close()%> 把flash錄入界面的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,如果你的系統(tǒng)WinXP磁盤格式是NTFS, 點(diǎn)擊“工具”->“文件夾選項(xiàng)”->“查看”,找到“使用簡(jiǎn)單文件共享(推薦)”這項(xiàng),把前面的勾
11、去掉。選擇數(shù)據(jù)庫(kù)文件右鍵->屬性->“安全”的選項(xiàng)卡,添加一個(gè)用戶“INSR_計(jì)算機(jī)名”,在組或用戶名中會(huì)出現(xiàn)Internet來(lái)賓賬戶,權(quán)限設(shè)為“完全控制”,這樣數(shù)據(jù)保存到數(shù)據(jù)庫(kù)時(shí)就不會(huì)出錯(cuò)了;如果為了簡(jiǎn)單起見(jiàn),可以添加Everyone用戶,其插入數(shù)據(jù)文件名為insert.asp。<%language="javascript"%><!-#include file="conn.inc"-><%/讀FLASH傳遞過(guò)來(lái)的數(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ù)庫(kù)數(shù)據(jù)的SQL語(yǔ)句var sql1="insert into stud (學(xué)號(hào),姓名,性別,地址,出生日期) values ('"+xh+"','"+xm+"','"+xb+"','"+dz+"','&qu
13、ot;+csrq+"')"/注意:上面的這個(gè)sql語(yǔ)句在程序中一行書(shū)寫(xiě)conn.execute(sql1)/將結(jié)果返回到flash中,必須以&分隔Response.Write("&fanhui=數(shù)據(jù)插入成功!")/關(guān)閉連接對(duì)象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)建加載外部變量的對(duì)象,它可以用來(lái)發(fā)送、接收、裝載、處理數(shù)據(jù)stop();“提交”按鈕代碼如下:on (release) myload.input_flash1= input1.text;/將LV對(duì)象中儲(chǔ)存的所有變量都傳遞給ASP,不過(guò)這里只設(shè)定了一個(gè),就是“input_flash1”/向ASP傳遞成功后,我們?cè)侔褟腁SP傳遞回來(lái)的變量還儲(chǔ)存在“myload”對(duì)象中myload.sendAndLoad("chaxun.asp?bianliang="+ran
15、dom(9999), myload, "post");/對(duì)加載成功的處理myload.onLoad = function(success) if (success) /把a(bǔ)sp中查詢數(shù)據(jù)庫(kù)的結(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ù)庫(kù)的數(shù)據(jù)的交互,在這里并沒(méi)有對(duì)錄入數(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對(duì)象中儲(chǔ)存的所有變量都傳遞給ASP,在這里傳遞5個(gè)值/向ASP傳遞成功后,我們?cè)侔褟腁SP傳遞回來(lái)的變量還儲(chǔ)存在“l(fā)uru”對(duì)象中l(wèi)uru.sendAndLoad("insert.asp?b
18、ianliang="+random(9999), luru, "post");/對(duì)加載成功的處理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ù)器上的物理目錄相對(duì)應(yīng),在IIS中對(duì)準(zhǔn)“默認(rèn)網(wǎng)站”單擊鼠標(biāo)右鍵,在快捷菜單中選擇【新
20、建】【虛擬目錄】命令/添加別名,并選擇已建立的文件夾。4.5 測(cè)試打開(kāi)“Internet信息服務(wù)”,選擇虛擬目錄下flash發(fā)布生成的swf文件或html文件,右鍵/瀏覽就可以實(shí)現(xiàn)本機(jī)在網(wǎng)絡(luò)環(huán)境的測(cè)試。5 結(jié)束語(yǔ)本文介紹了如何通過(guò)ASP程序、Flash、Access數(shù)據(jù)庫(kù)實(shí)現(xiàn)根據(jù)用戶的要求讀取數(shù)據(jù)并發(fā)布。通過(guò)ASP實(shí)現(xiàn)了Flash與SQL數(shù)據(jù)庫(kù)的無(wú)縫連結(jié),并以網(wǎng)頁(yè)的形式進(jìn)行發(fā)布,可以方便具有訪問(wèn)權(quán)限的網(wǎng)內(nèi)用戶在線瀏覽。并在Windows XP+Flash 8+IIS5.0下調(diào)試成功, 正如在這篇文章中所探索的,集成Flash和asp應(yīng)用軟件是完全有可能的,其關(guān)鍵是如何在Asp和Flash及數(shù)據(jù)庫(kù)之間建立數(shù)據(jù)通訊機(jī)制,如何連接這兩部分并在戰(zhàn)略上進(jìn)行正確的架構(gòu)策劃?!咀髡吆?jiǎn)介】年愛(ài)華,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)畫(huà)設(shè)計(jì)北京: 人民郵電出版社, 2007.5.3蔡朝暉.Flash ActionScript互動(dòng)編程技術(shù)與實(shí)例M.北京:人民郵電出版社,2007.4徐緒堪.Flash8動(dòng)畫(huà)制作與Act
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省松滋市四中2025屆高三物理第一學(xué)期期中監(jiān)測(cè)模擬試題含解析
- 山東省微山縣第一中學(xué)2025屆高二物理第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 紅外攝像頭基礎(chǔ)知識(shí)單選題100道及答案解析
- 山西省太原市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)人教版綜合練習(xí)(下學(xué)期)試卷及答案
- 急診高血壓管理指導(dǎo)課件
- 《古希臘美術(shù)》課件
- 化學(xué)人教版2024版九年級(jí)上冊(cè)3.1分子和原子教學(xué)課件02
- 2024商務(wù)咨詢服務(wù)合同
- 2024房地產(chǎn)合作合同參考范文
- 急性心力衰竭病人的救護(hù)課件
- 安全風(fēng)險(xiǎn)評(píng)價(jià)風(fēng)險(xiǎn)矩陣法L-S、LEC法
- 第九版外科學(xué)課件泌尿系統(tǒng)損傷
- 2019年度第四次經(jīng)濟(jì)普查項(xiàng)目績(jī)效自評(píng)表
- 污水處理池 (有限空間)作業(yè)安全告知牌及警示標(biāo)志
- 三年級(jí)下冊(cè)信息技術(shù)課件-3.爭(zhēng)當(dāng)打字小能手|人教版 (共12張PPT)
- 一年級(jí)上冊(cè)音樂(lè)教案- 第十一課 郊游|湘藝版
- 某物業(yè)供水系統(tǒng)水泵PLC控制設(shè)計(jì)
- 中央電視臺(tái)公益廣告30年大盤點(diǎn)
- 軟件系統(tǒng)售后服務(wù)范圍及內(nèi)容
- 化工設(shè)備使用與維護(hù)8第八章儲(chǔ)存設(shè)備的使用與維護(hù)課件
- 2022年北京市朝陽(yáng)區(qū)白家莊小學(xué)五上期中數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論