ASP + FLASH + ACCESS教程

字號:


    ASP部分:
    <%
    added=request("added")
    del=request("del")
    action=request.QueryString("action")
    set conn=server.createObject ("adodb.connection")
    set rs=server.createObject ("adodb.recordset")
    dbpath=server.MapPath ("db1.mdb")
    connstr="Driver={Microsoft Access Driver (*.mdb)};dbq="&dbpath
    conn.Open connstr
    if (action <> "add" and action <>"added") then
    '下面是讀取數(shù)據(jù)庫信息部分
    sql="select * from shu where id=1"
    rs.open sql,conn,1,1
    if rs.eof and rs.bof then
    else
    Response.Write "a=" & (RS("number"))
    response.Write "&eof=true"
    end if
    end if
    %>
    <%
    '下面部分為刪除按扭信息部分
    if (action="add") then
    sql="select * from shu where id=1"
    rs.Open sql,conn,1,3
    rs("number")=del
    rs.update
    response.write "ok=1"
    rs.close
    end if
    %>
    <%
    '下面的部分是保存按扭信息部分
    if (action="added") then
    sql="select * from shu where id=1"
    rs.Open sql,conn,1,3
    rs("number")=added
    rs.update
    response.write "save=1"
    rs.close
    end if
    %>
    FLASH部分:
    第一部分是初始化變量:
    eof = "false";
    a=0; //按扭的初始數(shù)量
    r = random(65500);
    loadVariables("read.asp?action=" add r, "");//添加隨機數(shù)的目的是防止不同瀏覽器不無法刷新變量的(不過可能是畫蛇添足,哈哈)第9貞:
    if (eof ne "true") {
    gotoAndPlay("read");
    }
    判斷是否讀取數(shù)據(jù)成功!
    第十貞:
    a = Number(a);
    if (a == 0 or a<0) {
    a = 1;
    for (i=1; i<=a; i++) {
    _root.attachMovie("m"+i, "m"+i, i+1);
    if (i<=5) {
    eval("m"+i)._x = 200+i*eval("m"+i)._width;
    eval("m"+i)._y = 200;
    }
    if (i>5 and i<=10) {
    eval("m"+i)._x = i*eval("m"+i)._width-50;
    eval("m"+i)._y = 250;
    }
    }
    } else {
    for (i=1; i<=a; i++) {
    _root.attachMovie("m"+i, "m"+i, i+1);
    if (i<=5) {
    eval("m"+i)._x = 200+i*eval("m"+i)._width;
    eval("m"+i)._y = 200;
    }
    if (i>5 and i<=10) {
    eval("m"+i)._x = i*eval("m"+i)._width-50;
    eval("m"+i)._y = 250;
    }
    }
    }
    stop();
    //根據(jù)數(shù)據(jù)庫中按扭數(shù)量"a"的大小添加按扭,并且以5*2的順序進行排序!加載按扭:
    on (release) {
    if (a<=10 and a>=1) {
    a =Number(a)+1;
    trace(a);
    _root.attachMovie("m"+a, "m"+a, a+1);
    if (a<=5) {
    eval("m"+a)._x = 200+a*eval("m"+a)._width;
    eval("m"+a)._y = 200;
    }
    if (a>5 and a<=10) {
    eval("m"+a)._x = a*eval("m"+a)._width-50;
    eval("m"+a)._y = 250;
    }
    }
    if (a>10) {
    _root.aa.attachMovie("wrong", "wrong", 1000);
    this.wrong._width = 600;
    this.wrong._height = 400;
    this.wrong._x = 225;
    this.wrong._y = 200;
    a=10
    }
    }
    根據(jù)A的數(shù)量進行在次加載按扭(這里只采用FLASH內(nèi)部加載),如果超按扭數(shù)量超過10個,則停止加載并出現(xiàn)警告!刪除按扭部分:
    on (release) {
    del = a-1;
    loadVariables("read.asp?action=add", "", "POST");
    for(i=1;i<=a;i++){
    removeMovieClip(eval("m"+i));
    }
    gotoAndPlay("do_del");
    }
    //確定刪除后A的值,并將其傳送個ASP!但是此處需要清理FLASH內(nèi)部A的數(shù)量,以防止FLASH內(nèi)部沒有刷新而造成刪除后A的數(shù)量減少,但按牛數(shù)量沒有減少的情況!保存按扭部分:
    on (release) {
    added = a;
    for(i=1;i<=a;i++){
    removeMovieClip(eval("m"+i));
    }
    loadVariables("read.asp?action=added", "", "POST");
    gotoAndPlay("do_save");
    }//將A的數(shù)值傳給ASP 然后存到數(shù)據(jù)庫中,此處也清空了FLASH內(nèi)部A的值,原因同上!