· 9 years ago · Sep 16, 2017, 07:10 PM
1//////////////////////////////////////////////////////////////////////////////////////////////
2 fishySQL.as
3//////////////////////////////////////////////////////////////////////////////////////////////
4
5package {
6 import flash.display.Sprite;
7 import flash.display.StageAlign;
8 import flash.display.StageScaleMode;
9 import flash.events.MouseEvent;
10
11 import qnx.ui.buttons.LabelButton;
12 import qnx.ui.listClasses.ListSelectionMode;
13 import qnx.ui.listClasses.TileList;
14 import qnx.ui.text.Label;
15 import qnx.ui.text.TextInput;
16
17 [SWF(width="1024", height="600", backgroundColor="#424242", frameRate="30")]
18 public class fishySQL extends Sprite {
19 private var sqlData:SQLFunctions;
20
21 private var inputUSERNAME:TextInput;
22 private var inputUSERPASSWORD:TextInput;
23 private var inputUSERDESCRIPTION:TextInput;
24
25 private var userList:TileList;
26
27 public function fishySQL() {
28 super();
29 // support autoOrients
30 stage.align = StageAlign.TOP_LEFT;
31 stage.scaleMode = StageScaleMode.NO_SCALE;
32
33 sqlData = new SQLFunctions();
34 theInputs();
35 }
36 private function theInputs():void {
37 inputUSERNAME = new TextInput();
38 inputUSERNAME.prompt = "User Name";
39 inputUSERNAME.setPosition(65, 60);
40 addChild(inputUSERNAME);
41
42 inputUSERPASSWORD = new TextInput();
43 inputUSERPASSWORD.prompt = "User Password";
44 inputUSERPASSWORD.setPosition(65, 100);
45 addChild(inputUSERPASSWORD);
46
47 inputUSERDESCRIPTION = new TextInput();
48 inputUSERDESCRIPTION.prompt = "User Description";
49 inputUSERDESCRIPTION.setPosition(65, 140);
50 addChild(inputUSERDESCRIPTION);
51
52 var submitData:LabelButton = new LabelButton();
53 submitData.label = "Save";
54 submitData.setPosition(600, 60);
55 submitData.addEventListener(MouseEvent.CLICK, writeData);
56 addChild(submitData);
57
58 var delData:LabelButton = new LabelButton();
59 delData.label = "Delete";
60 delData.setPosition(600, 110);
61 delData.addEventListener(MouseEvent.CLICK, deleteData);
62 addChild(delData);
63
64 var refreshTable:LabelButton = new LabelButton();
65 refreshTable.label = "Refresh";
66 refreshTable.setPosition(600, 175);
67 refreshTable.addEventListener(MouseEvent.CLICK, makeTable);
68 addChild(refreshTable);
69
70 var useRecordBTN:LabelButton = new LabelButton();
71 useRecordBTN.label = "Use";
72 useRecordBTN.setPosition(800, 60);
73 useRecordBTN.addEventListener(MouseEvent.CLICK, useRecord);
74 addChild(useRecordBTN);
75
76 }
77 private function writeData(e:MouseEvent):void {
78 sqlData.writeData(inputUSERNAME.text, inputUSERPASSWORD.text, inputUSERDESCRIPTION.text);
79 inputUSERNAME.text = "";
80 inputUSERPASSWORD.text = "";
81 inputUSERDESCRIPTION.text = "";
82 }
83 private function deleteData(e:MouseEvent):void {
84 sqlData.removeRecord(userList.selectedIndex);
85 }
86 private function makeTable(e:MouseEvent):void {
87 userList = new TileList();
88 userList.dataProvider = sqlData.getTableData();
89 userList.setPosition(65, 225);
90 userList.setSize(894, 350);
91 userList.columnCount = 3;
92 userList.columnWidth = 300;
93 userList.rowCount = sqlData.getCount();
94 userList.rowHeight = 45;
95 userList.cellPadding = 1;
96 userList.selectionMode = ListSelectionMode.SINGLE;
97 addChild(userList);
98 }
99 private function useRecord(e:MouseEvent):void {
100 sqlData.giveRecord(userList.selectedIndex);
101 var suckaFish:Array = new Array(sqlData.recordArray.slice(0).USERNAME);
102 trace(suckaFish);
103 inputUSERNAME.text = sqlData.recordArray.slice(0).USERNAME;
104 inputUSERPASSWORD.text = sqlData.recordArray.(1).label;
105 }
106 }
107}
108
109
110/*
111 statement.text = "SELECT * FROM SITES WHERE SITE_ID = ?"
112 statement.parameters[0] = SitePicker.selectedItem.SITE_ID;
113 statement.execute();
114 siteData.source = statement.getResult().data;
115 SiteAddressLBL.text = siteData.getItemAt(0).SiteAddress;
116 ProviderLBL.text = siteData.getItemAt(0).Provider;
117 AccountNumberLBL.text = siteData.getItemAt(0).AccountNumber;
118*/
119
120
121
122//////////////////////////////////////////////////////////////////////////////////////////////
123 sqlFunction.as
124//////////////////////////////////////////////////////////////////////////////////////////////
125
126package {
127 import flash.data.SQLConnection;
128 import flash.data.SQLResult;
129 import flash.data.SQLStatement;
130 import flash.filesystem.File;
131
132 import qnx.ui.data.DataProvider;
133
134 public class SQLFunctions {
135 private var dbName:String = "fishySQL.db";
136 private var dbFile:File = File.applicationStorageDirectory.resolvePath(dbName);
137 private var dbConn:SQLConnection;
138 private var dbSTMT:SQLStatement;
139 private var sqlResult:SQLResult;
140
141 private var databaseDP:DataProvider;
142 public var recordArray:Array;
143
144 private var totalRows:int;
145
146 public function SQLFunctions() {
147 if (!dbFile.exists) {
148 createDB()
149 }
150 }
151 public function createDB():void {
152 createConnection();
153 dbSTMT.text = "CREATE TABLE IF NOT EXISTS USERTABLE (USER_ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
154 "USERNAME TEXT, " +
155 "USERPASSWORD TEXT, " +
156 "USERDESCRIPTION TEXT" +
157 ")";
158 dbSTMT.execute();
159 dbSTMT.text = "INSERT INTO USERTABLE (" +
160 "USERNAME, " +
161 "USERPASSWORD, " +
162 "USERDESCRIPTION" +
163 ") VALUES (?, ?, ?)";
164 dbSTMT.parameters[0] = "John Doe";
165 dbSTMT.parameters[1] = "p455w0rd";
166 dbSTMT.parameters[2] = "PW IS BAD!";
167 dbSTMT.execute();
168 closeConnection();
169 }
170 public function createConnection():void {
171 dbConn = new SQLConnection();
172 dbConn.open(dbFile);
173 dbSTMT = new SQLStatement();
174 dbSTMT.sqlConnection = dbConn;
175 }
176 public function closeConnection():void {
177 dbConn.close();
178 }
179 public function getTableData():DataProvider {
180 createConnection();
181 dbSTMT.text = "SELECT * FROM USERTABLE";
182 dbSTMT.execute();
183 sqlResult = dbSTMT.getResult();
184 totalRows = sqlResult.data.length;
185 databaseDP = new DataProvider();
186 for each(var obj:Object in sqlResult.data){
187 if(obj != null){
188 databaseDP.addItem({label:obj["USERNAME"]});
189 databaseDP.addItem({label:obj["USERPASSWORD"]});
190 databaseDP.addItem({label:obj["USERDESCRIPTION"]});
191 }
192 }
193 return databaseDP;
194 closeConnection();
195 }
196 public function getCount():int {
197 return totalRows;
198 }
199 public function writeData(inputUN:String, inputUP:String, inputUD:String):void {
200 createConnection();
201 dbSTMT.text = "INSERT INTO USERTABLE (" +
202 "USERNAME, " +
203 "USERPASSWORD, " +
204 "USERDESCRIPTION" +
205 ") VALUES (?, ?, ?)";
206 dbSTMT.parameters[0] = inputUN;
207 dbSTMT.parameters[1] = inputUP;
208 dbSTMT.parameters[2] = inputUD;
209 dbSTMT.execute();
210 closeConnection();
211 }
212 public function removeRecord(delID:int):void {
213 trace("I GOT HERE");
214 createConnection();
215 dbSTMT.text = "DELETE FROM USERTABLE WHERE USER_ID = " + delID + "";
216 dbSTMT.execute();
217 closeConnection();
218 trace("I FINISHED");
219 }
220 public function giveRecord(selectedUser:int):void {
221 createConnection();
222 dbSTMT.text = "SELECT * FROM USERTABLE WHERE USER_ID = " + selectedUser + "";
223 dbSTMT.execute();
224 recordArray = new Array();
225 for each(var obj:Object in dbSTMT.getResult().data){
226 if(obj != null){
227 recordArray.push({label:obj["USERNAME"]});
228 recordArray.push({label:obj["USERPASSWORD"]});
229 recordArray.push({label:obj["USERDESCRIPTION"]});
230 }
231 }
232
233 recordArray = new Array(dbSTMT.getResult().data);
234 closeConnection();
235 }
236 }
237}