實驗7:
重新做實驗3,不過XML文檔數(shù)據(jù)從數(shù)據(jù)庫中調(diào)用. 用戶登錄不推薦使用XML.推薦在ASP或其它語言中,做隱式判斷. 了解: ASP請點: JSP請點:
這個還是要講的.便于理解下一個實驗.
數(shù)據(jù)庫:
打開Data.mdb數(shù)據(jù)庫.新建二個表. 表名分別為: -------------------------------------------------- post user --------------------------------------------------
post表中: 輸入二個字段:分別為: -------------------------------------------------- postID 自動編號 postName 文本 -------------------------------------------------- 在 postID 字段點右鍵-->主鍵,保存. 打開post表,在postName字段輸入二條數(shù)據(jù),數(shù)據(jù)分別為: -------------------------------------------------- 經(jīng)理 職員 -------------------------------------------------- 保存.
user表中: 輸入四個字段,分別為: -------------------------------------------------- userID 自動編號 username 文本 password 文本 postName 文本 -------------------------------------------------- 在 userID 字段點右鍵-->主鍵,保存. 打開user表,分別在username,password,postName字段輸入四條數(shù)據(jù),數(shù)據(jù)分別為: -------------------------------------------------- username password postName MChooseFlash01 MChooseHappiness 經(jīng)理 MChooseFlash02 MChooseHappiness 經(jīng)理 EChooseFlash01 EChooseHappiness 職員 EChooseFlash02 EChooseHappiness 職員 -------------------------------------------------- 保存.關(guān)閉數(shù)據(jù)庫.
數(shù)據(jù)庫到這可以了.下面是ASP:
打開記事本,輸入下面的代碼,然后保存為 xml-007.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% 'xml-007.asp dim conn,rs,sqlcom,post_arr '設(shè)置文檔類型. Response.ContentType="text/xml" '輸出XML文檔. Response.Write("<?xml version='1.0' encoding='gb2312'?>") Response.Write("<!--xml-007.asp-->") Response.Write("<UserDataList>") '創(chuàng)建連接對象. Set conn=Server.CreateObject("Adodb.Connection") '這里用字符串方法連接數(shù)據(jù)庫. '"Provider=Microsoft.Jet.OLEDB.4.0; 這個是數(shù)據(jù)庫驅(qū)動. 'Data Source="Server.MapPath("Data.mdb") 數(shù)據(jù)庫文件的相對路徑. conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("Data.mdb") '創(chuàng)建記錄集對象. Set rs=Server.CreateObject("Adodb.RecordSet") '查詢數(shù)據(jù)庫的sql語句. sqlcom="select * from post" '執(zhí)行sql語句. '1,1 只讀. '1,3 可讀可寫. rs.Open sqlcom,conn,1,1 '重定義數(shù)組. 'rs.RecordCount 記錄集中總的記錄數(shù). Redim post_arr(rs.RecordCount) '用for語句將post表中的數(shù)據(jù)循環(huán)出來. 'Ubound數(shù)組的最大上標(biāo). for i=1 to Ubound(post_arr) '將post表中的postName字段中的值存入數(shù)組post_arr. post_arr(i)=rs("postName") '移到下一條數(shù)據(jù). rs.MoveNext Next '這里用了嵌套for語句, '第一個for j是將post_arr數(shù)組中的數(shù)據(jù)讀出來.也就是post表中的數(shù)據(jù). '第二個for k是將user表中的數(shù)據(jù)讀出來. '用for語句將post_arr數(shù)組中的數(shù)據(jù)循環(huán)出來. for j=1 to Ubound(post_arr) '關(guān)閉記錄集. rs.Close '查詢數(shù)據(jù)庫的sql語句. '根據(jù)post_arr(j)數(shù)組中的值為條件來重復(fù)執(zhí)行sql語句. 'user是SQL中的關(guān)鍵字.要用[]中括號括起來. sqlcom="select * from [user] where post='"&post_arr(j)&"'" '執(zhí)行sql語句. rs.Open sqlcom,conn,1,1 '輸出XML節(jié)點. Response.Write("<Post post='"&post_arr(j)&"'>") '用for語句將user表中的數(shù)據(jù)循環(huán)出來. for k=1 to rs.RecordCount '輸出XML節(jié)點. Response.Write("<UserData username='"&rs("username")&"' password='"&rs("password")&"' />") '移到下一條數(shù)據(jù). rs.MoveNext Next '結(jié)束Post節(jié)點. Response.Write("</Post>") Next '結(jié)束UserDataList節(jié)點. Response.Write("</UserDataList>") '釋放記錄信對象. Set rs=nothing '關(guān)閉連接. conn.Close '釋放連接對象. Set conn=nothing %>
在IIS中瀏覽xml-007.asp文件.跟實驗3中的xml文檔大致一樣. 打開實驗3中的Flash文件,把Flash中的加載xml地址換成:
myxml.load("http://localhost/xml/xml-007.asp?ran="+Math.random(9999));
然后測試影片.效果跟實驗3一樣.
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁 Flash處理外部XML文檔數(shù)據(jù) [4] 下一頁 Flash處理外部XML文檔數(shù)據(jù) [6]
◎進(jìn)入論壇Flash專欄版塊參加討論
|