前几天没事做了个简单的留言本,是利用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
<%@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;
}
};完