Flash與數據庫的連接方法與代碼
更新時間:2007年03月20日 00:00:00 作者:
確切地說..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);//當文件被加載完成后,執(zhí)行第二幀.
}
};
stop();//這里要注意.如果不用停止.假設文件還沒有加載完就執(zhí)行第二幀...而在第二幀是在flash里讀取數據的.那就導致讀不出數據
第二幀:
_root.name.text = newload.flashClass;//下面兩句是讀取數據的.
_root.link.text = newload.flashLink;
_root.bt._visible = false;//是一個影片的名字,里面放有一個動態(tài)文本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");
};
}
復制代碼 代碼如下:
<%
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);//當文件被加載完成后,執(zhí)行第二幀.
}
};
stop();//這里要注意.如果不用停止.假設文件還沒有加載完就執(zhí)行第二幀...而在第二幀是在flash里讀取數據的.那就導致讀不出數據
第二幀:
_root.name.text = newload.flashClass;//下面兩句是讀取數據的.
_root.link.text = newload.flashLink;
_root.bt._visible = false;//是一個影片的名字,里面放有一個動態(tài)文本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");
};
}
相關文章
AS3.0實例學習 熟悉新的事件機制和addChild的運用
AS3.0實例學習 熟悉新的事件機制和addChild的運用...2007-12-12AS3.0 實例學習 熟悉addChild和removeChild在不同的swf之間的運用,以及l(fā)oader的用法
這篇文章通過實例給大家介紹了AS3.0 實例學習 熟悉addChild和removeChild在不同的swf之間的運用,以及l(fā)oader的用法,非常不錯,需要的朋友參考下吧2007-12-12