如何使用Flash连接资料库(新手篇) |
| 作者:佚名 来源:闪吧 作者: Super-Tomato 更新:2007-1-13 20:49:11 错误报告 我要投稿 |
由于最近新手来的多, 所以顺便写了这篇简单的例子... 当中列出Flash如何通过ASP和PHP连接资料库的例子...ASP部分未经测试(因为没安装IIS).. 但我想也差不了多少, 那么开始吧 首先在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
%>
例子(一)原文件 :
点击浏览该文件
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |