白头少翁的Blog

年年岁岁花相似,岁岁年年人不同。

« 上网时右下角总显示IP与系统有冲突的解决方法世上真有心灵感应吗? »

FLASH中连接数据库的方法

刚学动画网站,其他倒还顺利,就是跟客户端交换数据时犯难了,找了好多资料才找到FLASH连接数据库的方法,供大家享用!

首先在Flash中建立2个输入框(name,msg), 1个动态文本(display)和一个按钮(submit)
例子(一) : Flash+ASP+Microsoft Access 在Flash第一帧输入:

function loadData() {
loader = new LoadVars();
loader.load("server.asp?time="+new Date().getTime()); //向ASP取得资料的连接, 这里我不使用Math.random是因为这样有个缺点
loader.onLoad = function(success) {
if (success) {
display.htmlText = loader.Result; //loader.Result是ASP传递回来的资料
}
};
}
submit.onRelease = function() { //当按钮按下放开的时候
if (name.text.length == 0) { //这里是判断输入框是否为空
Selection.setFocus(name); //把光标设定在指定的输入框
} else if (msg.text.length == 0) { //同上
Selection.setFocus(msg);
} else {
status.text = ""; //这个动态文本你们可以自己设定
sender = new LoadVars();
sender.name = name.text; //设定需要传递的变量
sender.msg = msg.text;
sender.onLoad = function(success) {
if (success) {
if (sender.Result == "Success") { //传递回来的讯息为Success时
status.text = "记录成功...";
name.text = msg.text=""; //清空输入栏位
loadData(); //重新刷新资料
} else {
status.text = "记录失败, 请再次尝试...";
}
delete sender; //养成习惯把LoadVars变量删除以释放内存空间
}
};
sender.sendAndLoad("server.asp?action=save", sender, "POST"); //传送出变量并等待资料传回, 传回的资料会在onLoad中截取
}
};
loadData(); //在一开始载入资料库中的资料


在ASP部分

<%
Set cnnDB = Server.CreateObject("ADODB.Connection") ''建立ADODB连接
Con = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("./Database.mdb") ''设定与资料库的连接, 资料库名为Database
cnnDB.Open Con ''进行连接

if Request("action") = "save" then ''当Flash传递来的action变量为save的时候
strName = Request("name") ''取得变量name, 在这里我没有做符号的检查, 你们可以自行编写
strMsg = Request("msg")
strSQL = "INSERT INTO guestbook(Name, Message) VALUES (''"&strName&"'', ''"&strMsg&"'')" ''增加资料库的设定, 资料表名为guestbook, 当中有Name和Message栏位
cnnDB.Execute strSQL ''执行增加资料
Response.Write "&Result=Success"
else
Set rstObj = Server.CreateObject("ADODB.Recordset") ''建立Recordset
strSQL = "SELECT * FROM guestbook" ''取得资料表中的所有资料
rstObj.Open strSQL, cnnDB
''使用Recordset连接资料表

Do While Not rstObj.EOF ''检查资料是否为最后一笔, 不是就进行下列指令
record = record & rstObj("Name")&" : "&rstObj("Message")&"<br>" ''使用变量储存每一行的资料
rstObj.MoveNext ''移动到下一笔资料
Loop


Response.Write "&Result="&record&"<br><b>Finish</b>" ''最后把变量传递回Flash

rstObj.Close ''结束Recordset连接
Set rstObj = Nothing ''把Recordset的指针设定为无
end if


cnnDB.Close ''结束资料库连接
Set cnnDB = Nothing ''设定资料库指针为无
%>

********** ASP 连接 MySQL 的方法 ***********


<%
Dim LE_DSN
Dim Conn
Dim ServerAddress
Dim DBName
Dim UID
Dim Password

ServerAddress = "localhost" ''服务器的DNS名
DBName = "Super-Tomato" ''资料库名字
UID = "" ''用户名
Password = "" ''用户密码

LE_DSN = "driver={MySql};server=" & ServerAddress & ";db=" & DBName & ";user id=" & UID & ";pwd=" & Password & ";option=16386"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open LE_DSN

Set rstObj = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM guestbook"
rstObj.Open strSQL,Conn


%>

以上方法均在FLASH2004+IIS5.0中测试通过!

  • 相关文章:
  • 文章排行
  • quote 2.请教
  • 我把你的代码复制到flash 的第一帧,并且把asp代码用记事本存下来,改成.asp后缀,并且建了一个access数据库,下一步该如何呀?

    我直接导出flash,出现如下代码:
    Error opening URL "file:///D|/flash%20连接数据库/server.asp?time=1194075064187"


    请高抬贵手呀,多谢拉
  • 2007-11-3 15:33:43 回复该留言
  • quote 3.小小
  • 楼上的路径出错了,楼主的是绝对地址来的,你改改它就可以了
  • 2007-11-5 11:00:58 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.7 Laputa Build 70216

Copyright @ 2007 studstu.com/blog