AIR 本地数据为SQLite ,
applicationDirectory 路径为 %APPDATA%\appName\ applicationStorageDirectory路径为 %APPDATA%\appName\Local Store\
%APPDATA% 为系统环境变量,默认为%SystemDrive%\Documents and Settings\%USERNAME%\Application Data appName为AIR应用程序名称
组织出了一个基础的SQL类库。方便今后常用数据库操作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 package { import com.cbmland.data.SQL; import flash.display.Sprite; import flash.events.ErrorEvent; import flash.events.Event; import flash.filesystem.File; import flash.text.TextField; public class SQL_test extends Sprite { var sql:SQL= new SQL( ) var _textField:TextField =new TextField ( ) public function SQL_test( ) { sql.addEventListener ( SQL.RESULT ,sql_RESULT) sql.addEventListener ( SQL.ERROR ,sql_ERROR) sql.open ( File .applicationStorageDirectory .resolvePath ( "DBSample.db" ) ) //尝试创建数据库以及一个表 var sqlText="CREATE TABLE IF NOT EXISTS employees (" + " empId INTEGER PRIMARY KEY AUTOINCREMENT, " + " firstName TEXT, " + " lastName TEXT, " + " salary NUMERIC CHECK (salary > 0)" + ")" ; query( sqlText) //插入一个记录 sqlText="INSERT INTO employees (firstName, lastName, salary) " + "VALUES ('Bob', 'Smith', 8000)" ; query( sqlText) //查询 sqlText='SELECT * FROM employees ' query( sqlText) _textField.multiline =true _textField.width = stage.stageWidth _textField.height = stage.stageHeight this .addChild ( _textField) } private function query( text:String ) { sql.text =text sql.execute ( ) } private function view_RESULT( result) :void { if ( result.data !=null ) { var numRows:int = result.data .length ;for ( var i:int = 0 ; i < numRows; i++) { var output:String = "" ;for ( var columnName:String in result.data [ i] ) { output += columnName + ": " + result.data [ i] [ columnName] + "; " ;} trace( "row[" + i.toString ( ) + "]\t " , output) ; _textField.appendText ( "row[" + i.toString ( ) + "] " +output+'\n ' ) } // if(!result.complete){sql.next()} } else if ( result.rowsAffected >0 ) { trace( result.lastInsertRowID ) } } private function sql_RESULT( event:Event ) { var result=( event.target .getResult ( ) ) view_RESULT( result) } private function sql_ERROR( event:ErrorEvent) { trace( "Error message:" , event[ 'error' ] .message ) ; trace( "Details:" , event[ 'error' ] .details ) ;} } }
AIR SQL 学习笔记(20080229) (9.8 KB, 9 hits)