




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级工程师机械设计与制造方向考试题库及答案解析
- 2025年初级产品经理面试秘籍及预测题
- 2025年初级人事专员面试问题与预测答案大揭秘
- 2025年CATV QAM调制器项目发展计划
- 2025年票务服务合作协议书
- 2025年U型荧光灯管项目合作计划书
- 辽宁省沈文新高考研究联盟2025-2026学年高二上学期开学质量监测数学试卷(含解析)
- 广西部分学校2025-2026学年高一上学期开学质量检测生物试题(有答案)
- 安徽省滁州市定远三中2025-2026学年高三开学摸底物理试卷(含答案)
- 2025年氮氧化铝晶体(ALON)项目建议书
- 双人合作开店协议书范本
- 以史为帆明方向+少年立志向未来+课件-2025-2026学年上学期主题班会
- 2025年医卫类病理学技术(中级)专业知识-专业实践能力参考题库含答案解析(5套试卷)
- 2025上海科技馆事业单位工作人员招聘10人笔试备考题库及答案解析
- 八年级语文上册期末考点专题17 新闻阅读(解析版)
- 钢结构工程施工安全管理方案
- 【初二】【八年级】【道法】2025【秋】上学期开学第一课【统编版】(课件)
- 监狱消防安全应急预案
- 军事类面试题目及答案
- 学堂在线 军事理论 章节测试答案
- 《工程勘察设计收费标准》(2002年修订本)
评论
0/150
提交评论