环境:adobe flash CS4,VS2008 , Access2003
实现步骤:
1、创建ASP.net页面 testCommunicateWithFlash.aspx,将页面body里面的内容删除,在后台写代码,用于检索数据库,生成类似一下的内容,例如:
xqdbnum=15&xqdbfcnum=5&xqdbjrnum=5&xqdbxdnum=5&xqdbrzj=1250000&xqdbzrnum=2
这段内容在flash中会解析为六个变量,前面为变量名,后面为值。闲话少说,直接上代码,这段代码非常简单,大家都能看懂,提取一个传递过来的参数,提取相应内容,生成上面的传,输出到浏览器:
复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
Object oID; //用户ID
if (!Page.IsPostBack)
{
try
{
oID = Request.Params["ID"];
}
catch (Exception ex)
{
Response.Write(ex.Message);
return;
}
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=True;Data Source=" + Server.MapPath("~/App_Data/tdb_db.mdb");
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
//执行特定SQl语句
cmd.CommandText = "SELECT sum(xqdbnum),sum(xqdbfcnum),sum(xqdbjrnum),sum(xqdbxdnum),sum(xqdbrzj),sum(xqdbzrnum) FROM xqdb where xqusername like '" + oID.ToString() + "%'";
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Response.Write("xqdbnum=" + reader.GetValue(0) + "&xqdbfcnum=" + reader.GetValue(1) + "&xqdbjrnum=" + reader.GetValue(2)+ "&xqdbxdnum=" + reader.GetValue(3)+ "&xqdbrzj=" + reader.GetValue(4)+ "&xqdbzrnum=" + reader.GetValue(5)); } reader.Close();
conn.Close();
}
}
2、创建一个flash,我看网上的办法是需要弄好几个帧,一个用于发送,一个用于等待返回,一个用于显示。由于我测试所有都显示,那么不需要那么复杂,只需要使用动态文本的变量监测就可以实现,所以我只有一帧,起名随意,但是动态文本的变量设置与返回的内容一样(这个非常重要)
3、创建一个按钮
4、在按钮的动作中写入代码:
on(release){
trace("http://www.jb51.net:1475/WebTest/TestCommunicateWithFlash.aspx?ID="+it_uid.text);
loadVariables("http://www.jb51.net:1475/WebTest/TestCommunicateWithFlash.aspx?ID="+it_uid.text, this,"POST");
}
5、测试,成功
6、废话一句,如果发布的话,需要注意网址要变。
里面牵涉到一些细节,大家可以网上查一下相关资料看看,以前从来没有弄过,弄了两个多小时才弄好,有点小成就感