网页编程 - Flash如何访问数据库

flash是不可以直接与数据库连接的.只能是通过ASP(也可以是其他的PHP/JSP等);所以呢.首先,先在ASP里编写好连接数据库地语句 

<% 

dim cn 

dim connstr 

dim db 

db="asp.mdb" 

Set cn = Server.CreateObject("ADODB.Connection") 

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") 

cn.Open connstr 

%> 

存储为cn.asp文件; 

第二步;就编写一个读取数据库数据的ASP文件喽... 

<!--#include file="cn.asp"--> 

<% 

set rs=server.createobject("adodb.recordset") 

rs.open "select * from class ",cn,3,3 

for i=1 to rs.recordcount 

if not rs.eof then 

totalClass=totalClass&rs("Class")&"," 

totalLink=totalLink&rs("classlink")&"," 

rs.movenext() 

end if 

next 

response.write ("flashClass="&totalClass&"&") 

response.write ("flashLink="&totalLink&"&") 

'注意这个写格式.多個参数得用&这个来连接.有些人会忽略到这一点.导致在flash不能冩出数据来. 

%> 

将这个文件存储为:write.asp 

第三步;回到flash那里来编写语句.把write.asp文件加载进来. 

第一帧: 

System.useCodepage=true; 

var newload = new LoadVars();//如果不是很了解这个LoaVars,可以去查一下那个flash里面地帮助文档 

newload.load("write.asp"); 

newload.onLoad = function(success) { 

if (success) { 

_root.gotoAndStop(2);//当文件被加载完成后,秇行第二帧. 

}; 

stop();//这里要注意.如果不用停止.徦设文件还没有加载完就执行第二帧...而在第二帧湜在flash里读取数据的.那就导致读不出数据 

第二帧: 

_root.name.text = newload.flashClass;//芐面两句是读取数据的. 

_root.link.text = newload.flashLink; 

_root.bt._visible = false;//是一个影片的名字,里面倣放有一个动态文本bttext 

//现在就把数据放到数组中去.... 

var aspclass = newload.flashClass; 

var link = newload.flashLink; 

var Aclass = new Array(); 

var Blink = new Array(); 

for (i=0; i<aspclass.length; i++) { 

Aclass = aspclass.split(",", i); 

Blink = link.split(",", i); 

for (i=0; i<Aclass.length-1; i++) { 

//for (i=1; i<6; i++) { 

_root.bt.duplicateMovieClip("bt"+i, i); 

_root["bt"+i]._y = i*30; 

_root["bt"+i]._x = 5; 

_root["bt"+i].url = Blink; 

_root["bt"+i].bttext.text = Aclass; 

_root["bt"+i].onRelease = function() { 

_root.link2.text = this.url; 

getURL("http://"+this.url,"_blank"); 

}; 

}