· 8 years ago · Feb 23, 2018, 10:58 AM
1import flash.data.SQLConnection;
2import flash.data.SQLStatement;
3import flash.data.SQLResult;
4import flash.events.SQLErrorEvent;
5import flash.events.SQLEvent;
6import flash.filesystem.File;
7
8// ... create and open the SQLConnection instance named conn ...
9var conn:SQLConnection = new SQLConnection();
10
11// The database file is in the application storage directory
12var folder:File=File.desktopDirectory;
13var dbFile:File=folder.resolvePath("test.db");
14
15try {
16 conn.open(dbFile);
17} catch (error:SQLError) {
18 trace("Error message:", error.message);
19 trace("Details:", error.details);
20}
21var dropStmt:SQLStatement = new SQLStatement();
22dropStmt.sqlConnection=conn;
23dropStmt.text="DROP TABLE IF EXISTS employees";
24dropStmt.execute();
25dropStmt.addEventListener(SQLEvent.RESULT, dropResult);
26dropStmt.addEventListener(SQLErrorEvent.ERROR, dropError);
27function dropResult(event:SQLEvent):void {
28 trace("Table dropped");
29}
30function dropError(event:SQLErrorEvent):void {
31 trace("Error message:", event.error.message);
32 trace("Details:", event.error.details);
33}
34
35var createStmt:SQLStatement = new SQLStatement();
36createStmt.sqlConnection=conn;
37createStmt.addEventListener(SQLEvent.RESULT, createResult);
38createStmt.addEventListener(SQLErrorEvent.ERROR, createError);
39var sql:String =
40 "CREATE TABLE IF NOT EXISTS employees (" +
41 " empId INTEGER PRIMARY KEY AUTOINCREMENT, " +
42 " firstName TEXT, " +
43 " lastName TEXT, " +
44 " age TEXT, " +
45 " PlaceOfBirth)";
46createStmt.text=sql;
47createStmt.execute();
48function createResult(event:SQLEvent):void {
49 trace("Table created");
50}
51function createError(event:SQLErrorEvent):void {
52 trace("Error message:", event.error.message);
53 trace("Details:", event.error.details);
54}
55
56var insertStmt:SQLStatement = new SQLStatement();
57insertStmt.sqlConnection=conn;
58insertStmt.text="INSERT INTO employees (firstName, lastName, age, PlaceOfBirth) VALUES ('Audrey','Fryer', '5', 'Scotland')";
59insertStmt.execute();
60insertStmt.text="INSERT INTO employees (firstName, lastName, age, PlaceOfBirth) VALUES ('Daniel','Doolan', '2', 'Somewhere')";
61insertStmt.execute();
62insertStmt.text="INSERT INTO employees (firstName, lastName, age, PlaceOfBirth) VALUES ('Eyad','Elyan', '75', 'A Place')";
63insertStmt.execute();
64insertStmt.text="INSERT INTO employees (firstName, lastName, age, PlaceOfBirth) VALUES ('Robin','Boswell', '55', 'Test')";
65insertStmt.execute();
66insertStmt.text="INSERT INTO employees (firstName, lastName, age, PlaceOfBirth) VALUES ('Yang','Ju', '25', 'Unknown')";
67insertStmt.execute();
68insertStmt.addEventListener(SQLEvent.RESULT, insertResult);
69insertStmt.addEventListener(SQLErrorEvent.ERROR, insertError);
70function insertResult(event:SQLEvent):void {
71 trace("INSERT statement succeeded");
72}
73function insertError(event:SQLErrorEvent):void {
74 trace("Error message:", event.error.message);
75 trace("Details:", event.error.details);
76}
77
78list.addItem({label:"First Name", data:"firstName"});
79list.addItem({label:"Last Name", data:"lastName"});
80list.addItem({label:"Age", data:"Age"});
81list.addItem({label:"Place Of Birth", data:"PlaceOfBirth"});
82list.allowMultipleSelection=false;
83list.addEventListener(Event.CHANGE,loadData);
84
85var itemselected:String;
86var selectStmt:SQLStatement = new SQLStatement();
87selectStmt.sqlConnection=conn;
88selectStmt.addEventListener(SQLEvent.RESULT, resultHandler);
89selectStmt.addEventListener(SQLErrorEvent.ERROR, errorHandler);
90
91function loadData(e:Event):void {
92 selectStmt.text="SELECT "+e.target.selectedItem.data+" FROM employees";
93 itemselected=e.target.selectedItem.data;
94 selectStmt.execute();
95}
96
97import fl.data.DataProvider;
98function resultHandler(event:SQLEvent):void {
99
100 var result:SQLResult=selectStmt.getResult();
101 if (result.data!=null) {
102 var grid_array:Array = new Array();
103 grid.rowCount=result.data.length;
104 for (var i:int = 0; i < grid.rowCount; i++) {
105 var row:Object=result.data[i];
106 if (itemselected=="firstName") {
107 grid_array.push({Name:row.firstName});
108 } else if (itemselected == "lastName") {
109 grid_array.push({Name:row.lastName});
110 }
111
112 grid.dataProvider=new DataProvider(grid_array);
113 }
114 grid.columns=["Name"];
115
116 } else {
117 trace("no data");
118 }
119}
120
121function errorHandler(event:SQLErrorEvent):void {
122 trace(event.error);
123 // Information about the error is available in the
124 // event.error property, which is an instance of
125 // the SQLError class.
126}