任何语言都不可回避的要考虑到数据库的连接,虽然Flex中的ActionScript语言主要是在表示层的一种语言,但是也为我们提供了多种连接数据库的方式
 作者:陈明
任何语言都不可回避的要考虑到数据库的连接,虽然Flex中的ActionScript语言主要是在表示层的一种语言,但是也为我们提供了多种连接数据库的方式,主要有: 1) 使用asSQL驱动连接(有的书上认为ActionScript不支持自己连接数据库的方式,但是从ActionScript3开始,该语言也开始逐步尝试自我连接数据库,虽然笔者认为这个东东有点破坏结构的嫌疑,但是也总算告诉我们ActionScript自己也能完成数据库的练级,有点从此中国人站起来了的味道?) 2) HttpService方式 3) WebService方式 4) RemoteObject方式 本次我们就介绍下利用asSQL连接数据库: 1、 首先下载驱动:http://code.google.com/p/assql/downloads/list (下载那个swc文件) 2、 将文件导入工程中:project?properties?Flex Build Path?Add Swc?选中文件ok 3、 代码如下(搞Java开发的弟兄们是否似曾相识,呵呵)顺面说下数据库叫shopping,里面有张表叫userinfos,表里最少有一列叫username <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCreationComplete()" > <mx:Script> <![CDATA[ import com.maclema.mysql.ResultSet; import mx.rpc.AsyncResponder; import com.maclema.mysql.MySqlToken; import com.maclema.mysql.Statement; import com.maclema.mysql.Connection; import mx.controls.Alert; private var con:Connection; private function onCreationComplete():void { con = new Connection("localhost", 3306, "root", "sa", "shopping"); // con.addEventListener(Event.CONNECT, handleConnected); con.connect(); } private function handleConnected(e:Event):void { var st:Statement = con.createStatement(); var token:MySqlToken = st.executeQuery("select * from userinfos"); token.addResponder(new AsyncResponder( function(data:Object, token:Object):void { var rs:ResultSet = ResultSet(data); while(rs.next()) { Alert.show(rs.getString("username")); } }, function(info:Object, token:Object):void { Alert.show("Error: " + info); }, token )); } ]]> </mx:Script> <mx:Button label="ok" click="handleConnected(event)"></mx:Button> </mx:Application>
总结: 这个东东只能连接MySql数据库,对其他的数据库暂时不支持,不过从安全性,结构性以及使用的广泛性都不能没有可用性,只能说这是一个尝试。下次我们介绍HTTPService连接数据库。
|