当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp access数据库并生成XML文件范例

ASP
asp生成三维饼图的函数
ASP下的简洁的多重查询的方法与函数 真不错
发一个ASP的ADODB类代码
A利用ASP小偷和Google实现在线翻译功能的代码
ASP类型网站结合动网论坛会员的方法
Asp下实现多表单域无组件文件上传的实例
asp制作中常用到的函数库集合
易心asp分页类 v1.0
asp中xmlhttp组件发包
检测是否为数字类型的asp代码
可以获得文件的文件名的asp函数
用asp实现访问远程计算机上MDB access数据库文件的方法
用ASP实现写IIS日志的代码
asp在IE浏览器中下载服务端上的各类文件的实现方法
asp汉字中文图片验证码的实现代码
asp WAP获取手机终端信息的一段代码
asp取得数组中的最大值的方法
用asp实现的截取指定格式字符串的代码
asp jmail发邮件 详细解析
ASP编程中连接数据库和数据库操作的常用代码

ASP 中的 asp access数据库并生成XML文件范例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 66 ::
收藏到网摘: n/a

简单asp加载access数据库,并生成XML,然后再将XML数据加载进LIST组件范例学习。 首先来看,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 解释文本。