asp access資料庫並產生XML檔案範例

來源:互聯網
上載者:User

首先來看,ASP讀取ACCESS資料庫。 複製代碼 代碼如下:<% @language="VBScript" @codepage="65001"%>
<%
'開啟顯式變數聲明
Option Explicit
'設定輸出類型
Response.contentType="text/xml"
'定義三個變數,conn(Connection對象)、connstr(ConnectionString)、sql(一個SQL語句)
dim conn,connstr,rs,sql,i
'定義ConnectionString的值
i=1
connstr="provider=Microsoft.Jet.OLEDB.4.0;data source="&Server.MapPath("test.mdb")&";"
'建立伺服器連線物件
set conn=Server.CreateObject("ADODB.Connection")
'建立資料集對象
set rs=Server.CreateObject("ADODB.RecordSet")
'開啟資料連線
conn.open connstr
'本句的意思是到word資料表內按id欄位值的升序取出前100個song1name,dong1url欄位的值。值被附加到資料集對象上被當作資料集的一個屬性。
sql="select top 100 [song1name],[dong1url] from [test] order by id desc"
'遊標類型和鎖定類型都設定為1,這是一個只能向前的唯讀行為,讀取速度最快
rs.open sql,conn,1,1
Response.Write("<?xml version='1.0' encoding='utf-8'?><淘沙網>")
'進行do while迴圈,條件迴圈到合格最後一項
do while not rs.eof
'這是修改的部分,使輸出的檔案能夠被Flash中的LoadVars對象識別。
Response.Write("<歌曲資訊><歌名>"&rs("song1name")&"</歌名><地址>"&rs("dong1url"))&"</地址></歌曲資訊>"
'記錄下移
rs.movenext
i=i+1
'與do while呼應的loop方法,為主迴圈體
loop
Response.Write("</淘沙網>")
'將資料集對象關閉
rs.close
'將資料庫連接關閉
conn.close
'釋放資料集資源
set rs=nothing
'釋放資料庫連接資源
set conn=nothing
%>

這部分代碼,就是讀取資料庫。
下面看看是如何產生XML的呢,其實,就是在輸出的時候。加上XML的相應格式。比如<歌曲資訊>,以及各個標籤等。一定要注意,每個標籤,一定要封閉。
這個xml.asp檔案的全部代碼如下:

下面,再看看,FLASH中如何載入的呢?
這裡面,應該很簡單了。 複製代碼 代碼如下://定義組件
var my_TextArea:mx.controls.TextArea;
var my_List:mx.controls.List;
var my_XML:XML = new XML();
my_XML.load("http://www.taoshaw.com/taoshaw/study/accessAndList/xml.asp");
my_XML.onLoad = function(ok:Boolean) {
if (ok) {
for (i=0; i[td] my_List.addItem({label:this.firstChild.childNodes.childNodes[0].childNodes[0].nodeValue, data:this.firstChild.childNodes.childNodes[1].childNodes[0].nodeValue});
}
}
};
var my_Object:Object = new Object();
my_Object.change = function(eventObj:Object):Void {
my_TextArea.text += eventObj.target.selectedItem.label+"\n";
};
my_List.addEventListener("change", my_Object);

就這樣,產生的XML檔案就被匯入進LIST裡面了。通過監測函數,即可以調用資料。
學好這個,對於製作一些含背景項目,比如相簿、動態文章管理、播放器等就不難了。
製作一些需要載入外部檔案的FLASH的時候,特別需要注意的是編碼的問題。
首先,要注意,在同一個FLASH中,不要出現兩次:“System.useCodepage=true”;
原本這句話的含義是將載入的外部非"Utf-8"格式的檔案的編碼轉換成uft-8格式的,而如果使用兩次,則一定會出錯的。
一般的合作方法就是,外部檔案儲存的時候,要選擇uft-8這種編碼格式,或者Gb2312這種格式。至於這兩種編碼的詳細區別,我目前還不太清楚,希望大家有明白的朋友,還指點一下在下。

ASP中的 i 沒有意思。可以去掉。貼出來部分的第26行,括弧位置有錯。
另外樓主貼出來的AS中if(ok){}內的代碼缺少了一部分吧。for迴圈不完整。複製代碼 代碼如下:useCodePage 屬性
useCodePage:Boolean [read-write]
語言版本 : ActionScript 3.0
Player 版本 : Flash Player 9
一個布爾值,它告訴 Flash Player 使用哪個字碼頁來解釋外部文字檔。 當該屬性設定為 false 時,Flash Player 使用 Unicode 解釋外部文字檔。 (儲存這些檔案時,必須使用 Unicode 對其進行編碼。) 當該屬性設定為 true 時,Flash Player 使用運行播放器的作業系統的傳統字碼頁來解釋外部文字檔。 useCodePage 的預設值是 false。
作為外部檔案載入(使用 flash.display.Loader.load()、flash.net.URLLoader、flash.net.URLStream 或 XML 類)的文本必須已使用 Unicode 編碼格式儲存,這樣 Flash Player 才能將它識別為 Unicode。 若要使用 Unicode 對外部檔案進行編碼,請在支援 Unicode 的應用程式(例如,Windows 2000 上的“記事本”)中儲存這些檔案。
如果載入的外部文字檔不是 Unicode 編碼格式,則應將 useCodePage 設定為 true。 在將載入資料的 SWF 檔案的第一幀中,在最前面添加以下代碼,使之成為第一行代碼:
System.useCodePage = true;有了這一行代碼,Flash Player 將使用運行 Flash Player 的作業系統的傳統字碼頁來解釋外部文本。 對於英文 Windows 作業系統,該字碼頁通常為 CP1252;對於日語作業系統,該字碼頁通常為 Shift-JIS。 如果將 useCodePage 設定為 true,則 Flash Player 6 和更高版本處理文本的方式與 Flash Player 5 相同。 (Flash Player 5 將所有文本都視為按運行播放器的作業系統的傳統字碼頁編碼的文本。)
如果將 useCodePage 設定為 true,應注意:在運行播放器的作業系統的傳統字碼頁中必須包括您的外部文字檔中使用的字元,這樣才能顯示文本。 例如,如果您載入了一個包含中文字元的外部文字檔,則這些字元不能顯示在使用 CP1252 字碼頁的系統上,因為該字碼頁不包括中文字元。
為確保所有平台上的使用者都能查看您的 SWF 檔案中使用的外部文字檔,應將所有外部文字檔按 Unicode 進行編碼,並保留 useCodePage 的 false 設定不變。 這樣,Flash Player 6 和更高版本將按 Unicode 解釋文本。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.