Mysql 如何在AS3中使用mx.rpc.Responder

Mysql 如何在AS3中使用mx.rpc.Responder,mysql,sql,actionscript-3,flash,rpc,Mysql,Sql,Actionscript 3,Flash,Rpc,我正在尝试使用名为assql的库来处理mysql的操作。在使用中,我看到她使用了一个名为AsyncResponder的方法,即仅适用于Flex应用程序的mx.rpc包。。。我的问题是,如何在传统的AS3中使用此方法,或使用另一个函数来解决我的问题 package { import com.maclema.mysql.Statement; import com.maclema.mysql.Connection; import com.maclema.mysql.Resu

我正在尝试使用名为assql的库来处理mysql的操作。在使用中,我看到她使用了一个名为AsyncResponder的方法,即仅适用于Flex应用程序的mx.rpc包。。。我的问题是,如何在传统的AS3中使用此方法,或使用另一个函数来解决我的问题

package  {

    import com.maclema.mysql.Statement;
    import com.maclema.mysql.Connection;
    import com.maclema.mysql.ResultSet;
    import mx.rpc.AsyncResponder;
    import com.maclema.mysql.MySqlToken;
    import com.maclema.util.ResultsUtil;
    import flash.display.MovieClip;
    import flash.events.Event;


    public class CRUD extends MovieClip{

        //The MySql Connection
        private var con:Connection;

        public function CRUD() {
            onCreationComplete();
        }

        private function onCreationComplete():void {
            con = new Connection("localhost", 3306, "root", "", "banricoop-game");
            con.addEventListener(Event.CONNECT, handleConnected);
            con.connect();
        }

        private function handleConnected(event:Event):void {
            getAllUsers();
        }

        private function getAllUsers():void {
            var st:Statement = con.createStatement();

            var token:MySqlToken = st.executeQuery("SELECT * FROM users");
            token.info = "GetAllUsers";
            token.addResponder(new AsyncResponder(result, fault, token));
        }

        private function getEmployee(userID:int):void {
            var st:Statement = con.createStatement();
            st.sql = "SELECT * FROM users WHERE id = ?";
            st.setNumber(1, userID);

            var token:MySqlToken = st.executeQuery();
            token.info = "GetUser";
            token.userID = userID;
            token.addResponder(new AsyncResponder(result, fault, token));
        }

        private function result(data:Object, token:Object):void {
            var rs:ResultSet;

            if ( token.info == "GetAllUsers" ) {
                rs = ResultSet(data);
                    trace("Found " + rs.size() + " employees!");       
            } else if ( token.info == "GetUser" ) {
                rs = ResultSet(data);
                if ( rs.next() ) {
                    trace("Employee " + token.employeeID + " username is '" + rs.getString("username") + "'");
                }
                else {
                    trace("No such employee for id " + token.employeeID);
                }
            }
        }

        private function fault(info:Object, token:Object):void {
                trace(token.info + " Error: " + info);
        }
    }
}
拥抱

您需要下载并将这些库添加到项目中:

/frameworks/libs/framework.swc /frameworks/libs/rpc.swc 因此,您将能够在仅限AS3的环境中使用