|
作者:Super-Tomato
由于最近新手来的多, 所以顺便写了这篇简单的例子... 当中列出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
%>
源文件: http://xenz.flash8.net/tutorial/Flash_ASP.rar
|
|