用FLASH和ASP實現資料庫查詢

來源:互聯網
上載者:User
資料|資料庫 本文給你介紹一種在Flash中應用ASP技術實現資料庫查詢的新方法,它不但在用戶端完全隱藏了.asp程式,而且Flash的易用性、圖形化使你的網頁與眾不同。

基本原理

  1.Flash處理外部變數的方法

  Flash通過取Frame Properties中URL指定的檔案所輸出的字串作為自身變數及其值,這個檔案可以是CGI程式或ASP程式,輸出的字串必須定義成如下的格式:

company=Macromedia&address=600+Townsend&
city=San+Francisco&zip=94103


  這個字串匯入到Flash後,分成4個變數並賦予不同的值,即:



  利用ASP中Server.URLEncode方法很容易實現這種格式;另外你也可以通過編程來實現:

< %@Language=“VBScript”% >
< %
option explicit
dim var(3),i,count
i=0
count=3
var(0)=“Red”
var(1)=“Yellow”
var(2)=“Blue”
do while i< count
response.write“var”&i&“=”&var(i)&“&”
i=i+1
loop
response.write“i=”&i
% >


  執行這個ASP程式的結果是:
var0=Red&var1=Yellow&var2=Blue&i=3

  2.在ASP和Flash之間傳遞資料

  當你的ASP程式產生上述格式的字串以後,可以使用 Load variables (“myscript.asp",0)的動作描述將其傳入到Flash中(如圖1):



  其中,0表示裝入動畫的層為第一層,1表示第二層,以此類推。

  使用Load variables (“myscript.asp",0,vars=POST) 動作描述,ASP可用以下兩種方法實現從Flash中取出資料 :

1、Request.Form(“flash_var_1")
2、Request(“flash_var_1")


  使用Load variables (“myscript.asp",0,vars=GET) 動作描述,ASP從Flash中取出資料的方法:
Request.QueryString(“flash_var_1")

執行個體製作

  下面我們就以電話查詢為例,製作一個網頁。

  1.建立資料庫

  開啟ACCESS 2000,建立名為yjytelep.mdb的資料庫,設計一個本單位職工電話情況的表,表名為yjytelep,格式如下:



  將表和資料庫儲存到指定目錄中,如C:\testasp\。

  2.用Flash製作網頁

  ①開啟Flash 4,在Frame 1中建立電話查詢的畫面,如圖2。在文本編輯框上右擊滑鼠→Properties→Varible輸入變數名namestr;為阻止動畫向下播放,在Frame 1→Properties→Action中選“STOP”,這樣,只有當你輸入姓名並按 “查詢”按鈕,動畫才繼續播放。“查詢”按鈕上右擊滑鼠→Properties→Action描述為:

On( Release)
Go to and Play (2)
End On




  ②建立Frame 2,是一個blank keyframe,Action描述為:

 Load variables (“yjytelep.asp", 0, vars=GET)


  ③Frame 3-8建立的是一個動畫,告訴使用者ASP程式正在執行查詢,如圖3所示。



  Frame 3的Action描述為:

If (handnum ne“")
Go to and Stop (9)
End If
Frame 8的Action描述為:
Go to and Play (3)


  這樣,只有ASP程式查詢了所有的記錄並返回一個完整的記錄時,才執行Frame 9。

  ④Frame 9為結果畫面,如圖4所示。



  在“姓名”下方建立5個文本編輯框,其變數名分別為 name、utelnum、ptelnum、callnum、handnum。建立一個“返回再查”的按鈕,Action 描述為:

On (Release)
Go to and Stop (1)
End On


  ⑤儲存這個Flash檔案在C:\testasp中,檔案名稱為: yjytelep.fla。然後點擊File→Publish,產生yjytelep.html和 yjytelep.swf。到此,Flash的工作已經做完,接下來要編寫ASP程式了。

  3.編寫ASP程式

  開啟記事本,輸入以下程式並將其儲存到C:\testasp中,檔案名稱為:yjytelep.asp。

< %@Language=“VBScript"% >
< %
Dim oRS, oConn
Set oRS = Server.CreateObject(“ADODB.Recordset")
Set oConn= Server.CreateObject
(“ADODB.Connection") oConn.ConnectionString =
“Driver={Microsoft Access Driver (*.mdb)};DBQ=
”& Server.MapPath(“yjytelep.mdb")
oConn.Open

oRS.Open “SELECT * FROM yjytelep", oConn, 2, 3
oRS.Find “Name= ‘" & Request.QueryString
(“namestr") & “'"
If oRS.EOF Then
Response.Write “Name=查無此人&utelnum=-&ptelnum=
-&callnum=-&handnum=-"
Else
Response.Write “Name=" & Server.URLEncode(oRS
(“Name")) & “&utelnum=" & Server.URLEncode
(oRS(“utelnum")) & “&ptelnum=" & Server.URLEncode
(oRS(“ptelnum"))& “&callnum=" & Server.URLEncode
(oRS(“callnum"))& “&handnum=" & Server.URLEncode
(oRS(“handnum"))
End If
oRS.Close
Set oRS = Nothing
oConn.Close
Set oConn = Nothing
% >


  4.執行查詢

  由於ASP程式只能在伺服器端執行,所以一定要啟動你的PWS或IIS,並將C:\testasp設為一個Web網站,否則將是一個沒有結果的動畫。好了,快點在你的瀏覽器中鍵入http://localhost/testasp/yjytelep.html吧(localhost指主機網域名稱或IP 位址),其結果會令你耳目一新。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.