返回列表 回复 发帖

as3现在可以直接读sql数据库了,大家一起研究啊

http://maclema.com/assql/
as3现在可以直接读数据库,再返回xml格式文件给flash读取,
xml文件
  1. <mx:Script>
  2.      <![CDATA[
  3.           private function callService(sql:String):void
  4.           {
  5.                sqlService.send(sql);
  6.           }
  7.      ]]>
  8. </mx:Script>
  9. <sql:MysqlService id="sqlService"
  10.      host="database.mydomain.com"
  11.      port="3306"
  12.      user="username"
  13.      scrambler="{new PlainTextScrambler('password')}"
  14.      database="databaseName"
  15.      response="onResponse(event)"
  16.      error="onError(event)" />
  17. <mx:ComboBox id="cbx1" dataProvider="{sqlService.lastResult}" labelField="userName" />
复制代码
Actionscript文件
private function getUserList():void
{
     var host:String = "database.mydomain.com";
     var port:int = 3306;
     var user:String = "mydatabaseuser";
     var scrambler:PlainTextScrambler = new PlainTextScrambler("password");
     var database:String = "databaseName";
     var con:Connection = new Connection(host, post, user, scrambler, database);
     con.addEventListener(Event.CONNECT, onConnect);
     con.addEventListener(SQLErrorEvent.SQL_ERROR, onError);
     con.connect();
}
private function onConnect(e:Event):void
{
     var con:Connection = Connection(e.target);
     var st:Statement = con.createStatement();
     st.addEventListener(RestulsEvent.RESULTS, onResults); //FOR SELECT
     st.addEventListener(ResponseEvent.RESPONSE, onResponse); //FOR INSERT, UPDATE, etc.
     st.addEventListener(SQLErrorEvent.SQL_ERROR, onError);
     st.executeQuery("SELECT * FROM users;");
}
private function onResults(e:ResultsEvent):void
{
     var st:Statement = Statement(e.target);
     var con:Connection = st.getConnection();
     var rs:ResultSet = e.resultSet;
     while ( rs.next() )
     {
          var userName = rs.getString("userName");
          var email = rs.getString(2);
     }
     con.disconnect();
}
private function onResponse(e:ResponseEvent):void
{
     var st:Statement = Statement(e.target);
     var con:Connection = st.getConnection();
     
     var affectedRows:int = e.affectedRows;
     var insertID:int = e.insertID;
     con.disconnect();
}
private function onError(e:SQLErrorEvent):void
{
     var st:Statement = Statement(e.target);
     var con:Connection = st.getConnection();
     
     var message:String = e.msg;
     var errorNo:int = e.id;
     var text:String = e.text; // Equals SQLError #{id}: {msg}
     con.disconnect();
}
[ 本帖最后由 wangfeiyang 于 2007-10-17 23:26 编辑 ]

assql.rar (19.9 KB)

asSQL-0.1alpha.zip (316.77 KB)

表情那里是代码  :p
空格不要
AS直接SQL没试过!不过安全性很难讲!
http://blog.zhu08.cn
速度怎么样??
以前as2解析xml是慢得出了名了  
现在的速度怎么样?/如果不错就学习了.....
返回列表