前段时间没事做了个简单的留言本,是利用FLASH+ACCESS+XML+ASP做的,总得来说用了liuyan.asp,xmlxianshi.asp,liuyan.fla,liuyan.mdb这4个文件做的
首先,从liuyan.fla中读取数据,利用liuyan.asp保存到数据库中,然后再用xmlxianshi.asp读取数据库中的数据,利用XML显示出来,好让liuyan.fla读取,最后liuyan.fla通过加载XML读取数据库中的数据,利用文本分页显示出来。
利用工具:flash 8,DW 8.0,IIS,ACEESS.
liuyan.asp
liuyan.asp
<%
@LANGUAGE
=
"
VBSCRIPT
"
CODEPAGE
=
"
65001
"
%>
<%
Response.Charset
=
"
utf-8
"
%>
<%
Session.CodePage
=
"
65001
"
%>
//
采用UTF-8编码,
<
body
>
<%
dim Conn,rs,username,word
username
=
request(
"
username
"
)
word
=
request(
"
word
"
)
//
从FLASH中获取数据。
Set Conn
=
Server.CreateObject(
"
ADODB.Connection
"
)
//
创建一个数据库连接Conn
Conn.ConnectionString
=
"
Dbq=
"
&
Server.MapPath(
"
liuyan.mdb
"
)
&
"
; Driver={Microsoft Access Driver (*.mdb)}
"
Conn.Open
//
打开数据库
SQL
=
"
insert into userinfo(username,word) values ('
"
&
username
&
"
','
"
&
word
&
"
')
"
//
SQL语句中的插入数据
Conn.Execute(SQL)
//
把数据添加到数据库
Conn.close
set
Conn
=
nothing
//
关闭连接,释放内存。
%>
</
body
>
xmlxianshi.asp
<%
@LANGUAGE
=
"
VBSCRIPT
"
CODEPAGE
=
"
65001
"
%>
<%
Option Explicit
response.contentType
=
"
text/xml
"
//
输出类型为XML类型。
dim Conn,rs,SQL,i
Set Conn
=
Server.CreateObject(
"
ADODB.Connection
"
)
Conn.ConnectionString
=
"
Dbq=
"
&
Server.MapPath(
"
liuyan.mdb
"
)
&
"
; Driver={Microsoft Access Driver (*.mdb)}
"
Conn.Open
set
rs
=
Server.createObject(
"
ADODB.RecordSet
"
)
//
建立一个记录集对象rs,可以把数据库中的数据显示在页面上。
SQL
=
"
select * from userinfo
"
//
从表格userinfo中选着所有的内容。
rs.open SQL,Conn,
1
,
1
//
打开数据库,执行SQL这语句,后面2个1是默认的。可以不写。
response.write(
"
<?xml version='1.0' encoding='utf-8'?><userinfo>
"
)
//
XML版本是1.0,编码是UTF-8.
do
while
not rs.Eof
//
VB循环语句,rs.eof:最后一个语句之后.
response.write(
"
<information><username><![CDATA[
"
&
rs(
"
username
"
)
&
"
]]></username><sayinfo><![CDATA[
"
&
rs(
"
word
"
)
&
"
]]></sayinfo></information>
"
)
//
rs("username")获取数据库中的username值
rs.moveNext
//
指针下移
loop
response.write(
"
</userinfo>
"
)
rs.close
set
rs
=
nothing
Conn.close
set
Conn
=
nothing
//
关闭连接,释放内存。
%>
liouyan.fla
第一帧:
导入textInput ,textArea,label,button组件,呢称textInput文本名为nichen_txt,留言内容textArea文本名为liuyan_txt,显示留言内容文本为xianshi_txt
button组件(点参数,改label名就可以了):提交
按钮名为tijiao,重写按钮名为removeTip,显示按钮名为xianshi .
stop();
var loadLv:LoadVars
=
new
LoadVars();
//
用loadVars建立连接,好与ASP传送数据,

tijiao.onRelease
=
function()
...
{

if (nichen_txt == "" || liuyan_txt.text == "") ...{
xianshi_txt.text = "呢称或留言内容不能为空";

} else ...{
loadLv.username = nichen_txt.text;
loadLv.word = liuyan_txt.text;
loadLv.sendAndLoad("http://127.0.0.1/liuyan.asp", loadLv, "post");

}
}
;

removeTip.onRelease
=
function()
...
{
nichen_txt.text = "";
liuyan_txt.text = "";
}
;

xianshi.onRelease
=
function()
...
{
gotoAndStop(2);
}

loadLv.onLoad
=
function(success:Boolean)
...
{

if (success) ...{
nichen_txt.text = "";
liuyan_txt.text = "";
xianshi_txt.text = this.username+"说"+this.word;

} else ...{
trace("加载失败");
}
}
;
第二桢:
放5个textArea组件名称分别为myTextArea0到myTextArea4,一个上一页按钮prev_btn,下一页按钮next_btn
stop();
var maxnum:Number
=
5
;
//
一页中显示的最大的个数
var num:Number
=
1
;
//
当前在第一页
prev_btn.enabled
=
false
;
//
按钮当前不可用
next_btn.enabled
=
true
;
//
按钮当前可用
var userArray:Array
=
new
Array();
//
存储用户名的数组
var infoArray:Array
=
new
Array();
存储用户留言的数组
var myXML:XML
=
new
XML();
//
定义一个加载XML的对象
myXML.ignoreWhite
=
true
;
//
忽略XML中空白部分

myXML.onLoad
=
function(success:Boolean)
...
{
//加载XML

if (success) ...{
var root:XMLNode = this.firstChild;

for (var i = 0; i<root.childNodes.length; i++) ...{
userArray.push(root.childNodes[i].firstChild.firstChild);
infoArray.push(root.childNodes[i].lastChild.firstChild);
//把用户信息和留言信息分别加到数组中保存
}

for (var i = maxnum*(num-1); i<maxnum*num; i++) ...{
_root["myTextArea"+i%maxnum].text = "昵称"+userArray[i]+"发表了留言,内容为"+infoArray[i];
}
//显示第一页信息。

} else ...{
myTextArea.text = "error";
}
}
;
myXML.load(
"
http://127.0.0.1/xmlxianshi.asp
"
);
//
分页显示

prev_btn.onRelease
=
function()
...
{
num = num-1;
next_btn.enabled = true;

if (num>=0) ...{

for (var i = maxnum*(num-1); i<maxnum*num; i++) ...{
_root["myTextArea"+i%maxnum].text = "昵称"+userArray[i]+"发表了留言,内容为"+infoArray[i];
}

} else ...{
prev_btn.enabled = false;
}
}
;

next_btn.onRelease
=
function()
...
{
num = num+1;
prev_btn.enabled = true;

if (maxnum*num<userArray.length) ...{

for (var i = maxnum*(num-1); i<maxnum*num; i++) ...{
_root["myTextArea"+i%maxnum].text = "昵称"+userArray[i]+"发表了留言,内容为"+infoArray[i];
}

} else if (maxnum*num>userArray.length) ...{

for(var j=0;j<5;j++)...{
_root["myTextArea"+j].text ="";
}

for (var i = maxnum*(num-1); i<userArray.length; i++) ...{
_root["myTextArea"+i%maxnum].text = "昵称"+userArray[i]+"发表了留言,内容为"+infoArray[i];
}
next_btn.enabled = false;
//如果数据到最后的时候,长度大于一个而小于5个。

} else ...{
next_btn.enabled = false;
}
}
;
源文件下载:
http://space.flash8.net/bbs/attachment.php?aid=337979