Flash+ASP+Access实现写吧

今天,由我Voidman同学来向大家展示如何制作一个超炫的写吧。没见过的可以点这里去瞧瞧。首先说明下功能,实话说,这玩意儿功能真的不咋滴,一个普通的asp留言板都比他强。但我追求的是华丽(不要误会,我指的不是绣花枕头)。要说什么技术华丽----Flash。
     而Flash是不能直接连接数据库的,所以找个中间件ASP来搭起Flash和数据库之间的桥梁。为了实现Flash读取数据库里的内容,ASP要负责把数据库里的数据读出来,然后再发送给Flash,而Flash只是负责接受并以某种形式显示出来。而实现Flash把数据写到数据库则刚好相反,Flash把要写入的数据发送给ASP,ASP接受后写入数据库。怎么样,简单吧~
第一部分:读取数据
预览地址http://webotu.com/Upload/Test/Test.swf
首先建立一个数据库表,表名为test,有两个属性id和content。content的类型为文本
Test.asp

<%
        dim cn
        Set cn = Server.CreateObject("ADODB.Connection")
        cn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("[数据库名 ]")&";"
        set rs=server.createobject("adodb.recordset")
        rs.open "select content from [表名 ]",cn,3,3
                        while not rs.eof
                totalContent=totalContent&rs("content")&"#"    
     '把数据库中的每条内容以#分割
                rs.movenext()
                loop
                response.write ("flashC&")
'输出为flashContent=内容1#内容2#内容3#……&相当于一个变量,
'名为flashContent,值为内容1#内容2#内容3#……&
                rs.close
                cn.close
        %>

Test.fla
在第一帧加入动作

stop();
System.useCodepage = true;                             //显示中文
var newload = new LoadVars();                        //创建LoadVars类的对象newload
newload.load("Test.asp");
newload.onLoad = function(success) {                     //开始接受数据
if (success) {
_root.gotoAndStop(2);                             //全部接受完毕后则跳入第2帧
}
};

在第2帧中创建一个影片剪辑名为b,在b影片剪辑中创建一个动态文本,变量设为content
在帧上加入动作

stop();
System.useCodepage = true;                         //显示中文
var aspcontent = newload.flashContent;            //接受flashContent变量
var Acontent = new Array();                     //开辟一个数组

for (i=0; i<aspcontent.length; i++) {            
        Acontent = aspcontent.split("#", i); //以#为分割,把每段放入数组中
}
for (i=0; i<Acontent.length-1; i++) {
//以自己创建的影片剪辑为母体,复制一份, 命名为b[i ],深度为2000-i
        duplicateMovieClip(b, "b"+i, 2000-i);    
//把Acontent数组中的字符串Acontent[i ]写入b[i ]中
        _root["b"+i ].content = Acontent[i ];    
//把b[i ]的x,y坐标设为范围随机,把每个b[i ]分开
        
         _root["b"+i ]._x = 700*Math.random();    
         _root["b"+i ]._y = 500*Math.random()+50;
        
}

stop();

第二部分:写入数据
预览地址http://webotu.com/Upload/Test/write.swf
write.fla
第一帧添加一个矩形做底,上面创建一个输入文本域,名字为inContent,再创建一个按钮btn
第一帧添加帧动作

stop();
System.useCodepage = true;                 //以便写入中文                            
addDate = new LoadVars();

_root.btn.onRelease = function() {         //按下btn按钮后
        addDate.content = _root.inContent.text;    
//把输入的文本赋值给addDate对象的content属性
        addDate.send("write.asp", addDate, "_blank", "post");
//发送到write.asp
        addDate.onLoad = function(success) {
                if (success) {
                        
                } else {
                }
        };
};

write.asp

<%
dim cn

Set cn = Server.CreateObject("ADODB.Connection")
cn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("test.mdb")&";"



myContent =Trim(Request("content"))                        
//接受content属性,赋值给 myContent
if myContent="" then
response.Redirect("write.swf")                         //如果输入为空,则返回
end if
set rs=Server.CreateObject("ADODB.Recordset")
sql="select content from test"
rs.open sql,cn,1,3
rs.addnew
rs("content")=myContent                                     //写入数据库

rs.update

rs.Close
    Set rs = Nothing
cn.Close
    Set cn = Nothing
        
        response.Write("提交成功!")

%>

当然,这些只是最基础的flash连接数据库的方式。光掌握这些还不能写出一个完善的写吧,还有很多问题会碰到,比如排列,拖动,分页等。且听下回分解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值