您的位置:首页 > 数据库

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

2008-03-02 11:42 357 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: