我们的SQL语句的执行都是由一个类来完成的!这个类就是SQLStatement,这个类就是我们用来执行SQL语句的类,该类的使用也是非常简单的,我们只需要记住两个属性两个方法。我们来看一下!
text属性:所要执行的SQL语句,该属性是一个字符串格式,所以我们的SQL语句都是字符串!
sqlConnection属性:该属性是设置SQLStatement对象所要绑定的SQLConnection对象,这个属性我们一般在创建SQLStatment对象的时候就设定的!
execute方法:这个方法很简单,表示执行SQL语句。(有点像play)
getResult方法:这个方法挺重要的,因为我们访问的数据库后返回的数据都通过这个方法存储到一个SQLResult对象中!
好了!我们来看一个实例吧!这个实例中将执行一个查询语句,该语句查询后的结果会trace出来!
package
{
import flash.data.SQLConnection;
import flash.data.SQLResult;
import flash.data.SQLStatement;
import flash.display.Sprite;
import flash.errors.SQLError;
import flash.events.MouseEvent;
import flash.events.SQLErrorEvent;
import flash.events.SQLEvent;
import flash.filesystem.File;
/**
* ...
* */
public class Main extends Sprite
{
private var file:File = File.applicationDirectory.resolvePath("abc.db");
private var shuju:SQLConnection = new SQLConnection();
private var sqlcaozuo:SQLStatement = new SQLStatement();
private var a:Sprite = new Sprite();
public function Main():void
{
shuju.addEventListener(SQLEvent.OPEN, openfile);
shuju.addEventListener(SQLErrorEvent.ERROR, cuowu);
shuju.addEventListener(SQLEvent.CLOSE, ting);
shuju.open(file);
//
a.graphics.beginFill(0x00ff00);
a.graphics.drawRect(0, 0, 100, 100);
a.graphics.endFill();
addChild(a);
a.addEventListener(MouseEvent.CLICK, an);
}
private function ting(evt:SQLEvent):void
{
trace("数据库断开连接");
}
private function an(evt:MouseEvent):void
{
sqlcaozuo.addEventListener(SQLEvent.RESULT, bian);
sqlcaozuo.sqlConnection = shuju;
sqlcaozuo.text = "select a,b from ni";
sqlcaozuo.execute();
}
private function bian(evt:SQLEvent):void
{
var output:String = "";
var a:SQLResult = evt.target.getResult();
var b:Array = a.data;
for (var i:int = 0; i < b.length; i++ ) {
for (var columnName:String in b[i]) {
output += b[i][columnName] ;
}
}
trace(output);
}
private function openfile(evt:SQLEvent):void
{
trace("数据库连接成功");
}
private function cuowu(evt:SQLError):void
{
trace("错误");
}
}
}