asp加载access数据库并生成XML文件范例
作者:taoshaw 来源:经典论坛 发布时间:2008-07-22 12:41:00
标签:xml,asp,flash,access
简单asp加载access数据库,并生成XML,然后再将XML数据加载进LIST组件范例学习。
演示:
http://www.taoshaw.com/taoshaw/study/accessAndList/test.swf
XML演示:
http://www.taoshaw.com/taoshaw/study/accessAndList/xml.asp
首先来看,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这种格式。至于这两种编码的详细区别,我目前还不太清楚,希望大家有明白的朋友,还指点一下在下。
0
投稿
猜你喜欢
- 获取当前文件的路径:from os import path d = path.dirname(__file__) #返回当前文件
- 选择排序:选择排序(Selection sort)是一种简单直观的 排序算法 。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放
- 一、pexpect模块介绍Pexpect使Python成为控制其他应用程序的更好工具。可以理解为Linux下的expect的Python封装
- 下面是列表合并的4种方法,其中的代码都在Python3下测试通过,在Python2下运行应该也没问题,时间关系就没测试,遇到问题可以联系小编
- 哈夫曼树原理秉着能不写就不写的理念,关于哈夫曼树的原理及其构建,还是贴一篇博客吧。https://www.jb51.net/article/
- 本文实例讲述了Python利用Scrapy框架爬取豆瓣电影。分享给大家供大家参考,具体如下:1、概念Scrapy是一个为了爬取网站数据,提取
- 本文实例讲述了django框架实现一次性上传多个文件功能。分享给大家供大家参考,具体如下:在用django 写文件上传的时候,从reques
- 1、bootstrapBootstrap 是Twitter推出的一个用于前端开发的,一个用于 HTML、CSS 和 JS 开发的开源工具包,
- 这次,我们用Turtle模块结合三角函数,绘制出这样的勾股树:首先,导入模块from turtle import *from math im
- 1 np.arange(),类似于range,通过指定开始值,终值和步长来创建表示等差数列的一维数组,注意该函数和range一样结果不包含终
- 书接上文用Python搓一个太阳系你们要的3D太阳系3体人真的存在吗太长不看版最小势能点在由两个大质量物体构成的重力系统中,有一些特殊的区域
- 原来在robotframework中使用press key方法进行键盘的操作,但是该方法需要写 * 作对象的locator,不是很方便,现在找
- 之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图。原来使用的Web
- 项目的一个需求是解析nginx的日志文件。简单的整理如下:日志规则描述首先要明确自己的Nginx的日志格式,这里采用默认Nginx日志格式:
- 这里假定Postgresql数据库已经装好。首先安装依赖的包$ sudo yum install python-devel postgres
- Python则是通过缩进来识别代码块的。缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如
- 案例故事:百度网盘非会员大量上传文件,会弹出:“上传文件数量超出500个现在,开通超级会员后可继续上传”,其实是限制拖入500张相片,并非限
- 值得庆幸的是,我们可以通过数组的 slice 方法将 arguments 对象转换成真正的数组: var args = Array.prot
- 要真说出来哪一个函数能够做得到,还真难。但我们可用下面的代码来进行识别,返回“假”即偶数,返回“真”则奇数: function&n
- vue安装less依赖一、安装less依赖npm install less less-loader --save二、修改webpack.ba