Flash与数据库的连接方法与代码

确切地说..flash是不可以直接与数据库连接的.只能是通过ASP...所以呢.首先,先在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"); 
}; 

Flash与数据库的连接方法与代码