AS3链接MySqL.doc_第1页
AS3链接MySqL.doc_第2页
AS3链接MySqL.doc_第3页
AS3链接MySqL.doc_第4页
AS3链接MySqL.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AS3连接MYSQL数据库 最近由于制作任务编辑器,需要连接到数据库中进行一些任务数据的操作,而我们存放任务数据的数据库中MYSQL,所以就找了一下AS3接连MYSQL数据库的资料。找到一个好东西:ActionScript 3 MySql Driver,用SVN的童鞋可以直接checkout: /svn/trunk/为了使用简单,我做了一个简单的包装类(包含一个数据结构):view sourceprint?package com.easily.ds public class DataBaseData public var host:String; public var port:int; public var username:String; public var password:String; public var database:String; view sourceprint?package com.easily.util import com.easily.ds.DataBaseData; import com.maclema.mysql.Connection; import com.maclema.mysql.Field; import com.maclema.mysql.MySqlResponse; import com.maclema.mysql.MySqlToken; import com.maclema.mysql.ResultSet; import com.maclema.mysql.Statement; import flash.events.Event; import flash.events.EventDispatcher; import mx.rpc.AsyncResponder; /* * author Easily */ public class DataBase extends EventDispatcher private var mDataBase:DataBaseData; private var mConnection:Connection; public function DataBase(database:DataBaseData) mDataBase = database; public function connect():void mConnection = new Connection(mDataBase.host, mDataBase.port, mDataBase.username, mDataBase.password, mDataBase.database); mConnection.addEventListener(Event.CONNECT, onConnected); mConnection.connect(); function onConnected(event:Event):void mConnection.removeEventListener(Event.CONNECT, onConnected); dispatchEvent(event); public function disconnect():void mConnection.disconnect(); public function select(sql:String, completeHandler:Function, errorHandler:Function = null):void var st:Statement = mConnection.createStatement(); var token:MySqlToken = st.executeQuery(sql); var responder:AsyncResponder = new AsyncResponder(resultHandler, faultHandler, token); token.addResponder(responder); function resultHandler(result:Object/*ResultSet*/, token:Object/*MySqlToken*/):void var data:Array = ; if (result is ResultSet) var fieldList:Array = result.getColumns(); while (result.next() var item:Object = ; for each (var field:Field in fieldList) itemfield.getName() = result.getString(field.getName(); data.push(item); completeHandler(data); function faultHandler(info:Object, token:Object):void if (errorHandler = null) return; errorHandler(); public function insert(sql:String, completeHandler:Function, errorHandler:Function = null):void var st:Statement = mConnection.createStatement(); var token:MySqlToken = st.executeQuery(sql); var responder:AsyncResponder = new AsyncResponder(resultHandler, faultHandler, token); token.addResponder(responder); function resultHandler(result:Object/*MySqlResponse*/, token:Object/*MySqlToken*/):void completeHandler(result.insertID); function faultHandler(info:Object, token:Object):void if (errorHandler = null) return; errorHandler(); public function remove(sql:String, completeHandler:Function, errorHandler:Function = null):void var st:Statement = mConnection.createStatement(); var token:MySqlToken = st.executeQuery(sql); var responder:AsyncResponder = new AsyncResponder(resultHandler, faultHandler, token); token.addResponder(responder); function resultHandler(result:Object/*MySqlResponse*/, token:Object/*MySqlToken*/):void completeHandler(); function faultHandler(info:Object, token:Object):void if (errorHandler = null) return; errorHandler(); 其中有3个方法,select,insert,remove,分别对应了SQL语句中的select,insert,delete用法很简单,先连接:view sourceprint?var databaseData:DataBaseData = new DataBaseData(); databaseData.host = ; databaseData.database = game; databaseData.password = 123456; databaseData.port = 3306; databaseData.username = root; var dataBase:DataBase = new DataBase(databaseData); dataBase.addEventListener(Event.CONNECT, onConnected); dataBase.connect(); function onConnected(event:Event):void dataBase.removeEventListener(Event.CONNECT, onConnected); dispatchEvent(new Event(Event.COMPLETE); 如果不需要用了可以先断开连接:view sourceprint?dataBase.disconnect(); 下面是select语句:view sourceprint?var sql:String = select id,name from npc; dataBase.select(sq

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论