通过ASP.net实现flash对数据库的访问

  环境: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,我看网上的办法是需要弄好几个帧,一个用于发送,一个用于等待返回,一个用于显示。由于我测试所有都显示,那么不需要那么复杂,只需要使用动态文本的变量监测就可以实现,所以我只有一帧,起名随意,但是动态文本的变量设置与返回的内容一样(这个非常重要)

通过ASP.net实现flash对数据库的访问

  3、创建一个按钮

  4、在按钮的动作中写入代码:

  on(release){

  trace("http://www.glzy8.com:1475/WebTest/TestCommunicateWithFlash.aspx?ID="+it_uid.text);

  loadVariables("http://www.glzy8.com:1475/WebTest/TestCommunicateWithFlash.aspx?ID="+it_uid.text, this,"POST");

  }

  5、测试,成功

  6、废话一句,如果发布的话,需要注意网址要变。

  里面牵涉到一些细节,大家可以网上查一下相关资料看看,以前从来没有弄过,弄了两个多小时才弄好,有点小成就感