简单 asp 加载 access 数据库,并生成 XML,然后再将 XML 数据加载进 LIST 组件范例学习。
FLASH+ASP+ACCESS+XML;ASP 生成 XML 范例。
ASP 读取 ACCESS 数据库。
<% @language="VBScript" @codepage="65001"%>
<%
'开启显式变量声明
Option Explicit
'设置输出类型
Response.contentType="text/xml"
'定义三个变量,conn(Connection 对象)、connstr(ConnectionString)、sql(一个 S
QL 语句)
dim conn,connstr,rs,sql,i
'定义 ConnectionString 的值
i=1
connstr="provider=Microsoft.Jet.OLEDB.4.0;data source="&Server.MapPath("test.md
b")&";"
'建立服务器连接对象
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
这部分代码,就是读取数据库。
下面看看是如何生成 XML 的呢,其实,就是在输出的时候。加上 XML 的相应格式。比如<歌
曲信息>,以及各个标签等。一定要注意,每个标签,一定要封闭。
这个 xml.asp 文件的全部代码如下:
<% @language="VBScript" @codepage="65001"%>
<%
'开启显式变量声明
Option Explicit
'设置输出类型
Response.contentType="text/xml"
'定义三个变量,conn(Connection 对象)、connstr(ConnectionString)、sql(一个 S
QL 语句)
dim conn,connstr,rs,sql,i
'定义 ConnectionString 的值
i=1
connstr="provider=Microsoft.Jet.OLEDB.4.0;data source="&Server.MapPath("test.md
b")&";"
'建立服务器连接对象
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("<淘沙网>")
'进行 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
%>
下面,再看看,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
,就这样,生成的 XML 文件就被导入进 LIST 里面了。通过监测函数,即可以调用数据。
学好这个,对于制作一些含后台的项目,比如相册、动态文章管理、播放器等就不难了。
制作一些需要加载外部文件的 FLASH 的时候,特别需要注意的是编码的问题。
首先,要注意,在同一个 FLASH 中,不要出现两次:“System.useCodepage=true”;
原本这句话的含义是将加载的外部非"Utf-8"格式的文件的编码转换成 uft-8 格式的,而如
果使用两次,则一定会出错的。
一般的合作方法就是,外部文件保存的时候,要选择 uft-8 这种编码格式,或者 Gb2312 这
种格式。至于这两种编码的详细区别,我目前还不太清楚。