【转自CBM】AIR SQL 学习笔记(20080229)

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)

你可能感兴趣的:(sql,sqlite,Flash,AIR)