MySQL for AS3

早在几个星期前 maclema 就在他的 Blog 公布了一个MySql for AS3的驱动程序,这就意味着通过Flash/Flex可以直接连接MySql数据库了.一直没有时间测试使用,今天测试了一下,不错.
它的原理是通过Socket来实现的,与MySql建立Tcp连接,根据协议发送相关指令来现实数据通信.如果要放在Web服务器上访问MySql,当然要放入crossdomain.xml确定才行.不过在本地或者使用Apollo就不需要了.下面写了个简单的例子.
Code:
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import com.maclema.mysql.events.ResultsEvent;
import com.maclema.mysql.ResultSet;
import mx.rpc.events.ResultEvent;
import com.maclema.mysql.Statement;
import com.maclema.mysql.events.SQLErrorEvent;
import com.maclema.mysql.Connection;
import com.maclema.mysql.crypto.PlainTextScrambler;

private var mySqlconnection: Connection;
[Bindable]
private var userList: ArrayCollection;

private function connection(): void
{
var scrambler: PlainTextScrambler = new PlainTextScrambler("123456");
mySqlconnection = new Connection("127.0.0.1", 3306, "root", scrambler, "test");

mySqlconnection.addEventListener(Event.CONNECT, onConnectionHandle);
mySqlconnection.addEventListener(SQLErrorEvent.SQL_ERROR, onErrorHandle);
mySqlconnection.connect();
}

private function onConnectionHandle(event: Event): void
{
var st: Statement = mySqlconnection.createStatement();
//监听查询返回事件
st.addEventListener(ResultsEvent.RESULTS, onResultHandle);
st.executeQuery("select * from test;");
}

private function onResultHandle(event: ResultsEvent): void
{
var st: Statement = Statement(event.target);
var resultSet: ResultSet = event.resultSet;
while (resultSet.next()){
//返回数据的列表
userList = resultSet.getRows();
}
mySqlconnection.disconnect();
}

private function onErrorHandle(event: SQLErrorEvent): void
{
var st: Statement = Statement(event.target);
Alert.show("error message: /n" + event.text); mySqlconnection.disconnect();

详细请见: http://maclema.com/assql/

现已又有更新。。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值