复习一下FLASH提取ACCESS数据库

      AS2.0 2005-9-1 10:46
(1)文件包括
数据库文件ds.mdb
连接文件conn.asp
提取数据的文件get_data.asp
动画文件get_dt.swf
(2)数据结构如图


图片如下:

(3)conn.asp代码
<%
set db=server.createobject("adodb.connection")
db.open "DBQ="&server.mappath("./ds.mdb")&";driver={microsoft access driver (*.mdb)}"
%>
(4)get_data.asp代码

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn.asp"-->
<%
Dim id
    id=trim(Request.QueryString("no"))
    if IsEmpty(id) or id="" then
call err("error=参数错误")
    end if

Dim sql_str,content
Set rs = Server.CreateObject("ADODB.Recordset")
    sql_str="select top 1 * from 图书 where 编号="&id
rs.open sql_str,db,3,2
If rs.EOF and rs.BOF Then
    call err("error=没有记录")
else
    do while not rs.EOF
'主要的是这句,返回格式为:书名=风华年代&作者=余萧,传到FLASH自动
'映射为LoadVars对象的两个属性"书名"和"作者"
    content=content&"书名="&rs("书名")&"&作者="&rs("作者")
    rs.movenext
    loop
    
rs.Close
db.Close
    set rs=nothing
    set db=nothing
    
    Response.Clear()
    Response.Write(content)
    Response.End()
    end if
    
    sub err(msg)
     Response.Clear()
     Response.Write(msg)
     Response.End()
    end sub
%>
(5)动画文件
在第一桢上
System.useCodepage = true;
//使用本地字符集,不然会出现乱码
var fdt = new LoadVars();
//构件对象
fdt.onLoad = function(suc) {
    if (suc) {
//如果成功返回
        r_text.removeAll();
//清空列表
        var ls = {书名:1, 作者:1, error:1};
        for (var i in this) {
            if (ls[i] == 1) {
                r_text.addItem(i+"="+this[i]);
            }
        }
//重要:及时的清空返回值,也可以利用其他的方法
        delete this["书名"];
        delete this["作者"];
        delete this["error"];
    }
};
tp = {};
tp.click = function() {
//注意随机数的应用,不让浏览器缓存
    fdt.load("http://localhost/test_access/get_data.asp?no="+pno.text+"&rd="+Math.random()*10000, fdt, "GET");
};
sub.addEventListener("click", tp);
(6)最后图象


图片如下:
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}