Advertisement
Guest User

Untitled

a guest
Sep 16th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/
  2.                     fishySQL.as
  3. /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/
  4. package {
  5.     import flash.display.Sprite;
  6.     import flash.display.StageAlign;
  7.     import flash.display.StageScaleMode;
  8.     import flash.events.MouseEvent;
  9.    
  10.     import qnx.ui.buttons.LabelButton;
  11.     import qnx.ui.listClasses.ListSelectionMode;
  12.     import qnx.ui.listClasses.TileList;
  13.     import qnx.ui.text.Label;
  14.     import qnx.ui.text.TextInput;
  15.    
  16.     [SWF(width="1024", height="600", backgroundColor="#424242", frameRate="30")]
  17.     public class fishySQL extends Sprite {
  18.         private var sqlData:SQLFunctions;
  19.        
  20.         private var inputUSERNAME:TextInput;
  21.         private var inputUSERPASSWORD:TextInput;
  22.         private var inputUSERDESCRIPTION:TextInput;
  23.        
  24.         private var userList:TileList;
  25.        
  26.         public function fishySQL() {
  27.             super();
  28.            
  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.             userList = new TileList();
  65.             userList.dataProvider = sqlData.getTableData();
  66.             userList.setPosition(65, 200);
  67.             userList.setSize(894, 400);
  68.             userList.columnCount = 3;
  69.             userList.columnWidth = 300;
  70.             userList.rowCount = sqlData.getCount();
  71.             userList.rowHeight = 45;
  72.             userList.cellPadding = 1;
  73.             userList.selectionMode = ListSelectionMode.SINGLE;
  74.             addChild(userList);
  75.         }
  76.         private function writeData(e:MouseEvent):void {
  77.             sqlData.writeData(inputUSERNAME.text, inputUSERPASSWORD.text, inputUSERDESCRIPTION.text);
  78.             inputUSERNAME.text = "";
  79.             inputUSERPASSWORD.text = "";
  80.             inputUSERDESCRIPTION.text = "";
  81.         }
  82.         private function deleteData(e:MouseEvent):void {
  83.             sqlData.removeRecord(userList.selectedIndex);
  84.         }
  85.     }
  86. }
  87.  
  88. /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/
  89.                     SQLFunctions.as
  90. /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/
  91. package {
  92.     import flash.data.SQLConnection;
  93.     import flash.data.SQLResult;
  94.     import flash.data.SQLStatement;
  95.     import flash.filesystem.File;
  96.    
  97.     import qnx.ui.data.DataProvider;
  98.    
  99.     public class SQLFunctions {
  100.         private var dbName:String = "fishySQL.db";
  101.         private var dbFile:File = File.applicationStorageDirectory.resolvePath(dbName);
  102.         private var dbConn:SQLConnection;
  103.         private var dbSTMT:SQLStatement;
  104.         private var sqlResult:SQLResult;
  105.        
  106.         private var databaseDP:DataProvider;
  107.  
  108.         private var totalRows:int;
  109.        
  110.         public function SQLFunctions() {
  111.             if (!dbFile.exists) {
  112.                 createDB()
  113.             }
  114.         }
  115.         public function createDB():void {
  116.             createConnection();
  117.             trace("FIRST RUN!")
  118.             dbSTMT.text = "CREATE TABLE IF NOT EXISTS USERTABLE (USER_ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
  119.                 "USERNAME TEXT, " +
  120.                 "USERPASSWORD TEXT, " +
  121.                 "USERDESCRIPTION TEXT" +
  122.                 ")";
  123.             dbSTMT.execute();
  124.             dbSTMT.text = "INSERT INTO USERTABLE (" +
  125.                 "USERNAME, " +
  126.                 "USERPASSWORD, " +
  127.                 "USERDESCRIPTION" +
  128.                 ") VALUES (?, ?, ?)";
  129.             dbSTMT.parameters[0] = "John Doe";
  130.             dbSTMT.parameters[1] = "p455w0rd";
  131.             dbSTMT.parameters[2] = "PW IS BAD!";
  132.             dbSTMT.execute();
  133.             closeConnection();
  134.         }
  135.         public function createConnection():void {
  136.             dbConn = new SQLConnection();
  137.             dbConn.open(dbFile);
  138.             dbSTMT = new SQLStatement();
  139.             dbSTMT.sqlConnection = dbConn;
  140.         }
  141.         public function closeConnection():void {
  142.             dbConn.close();
  143.         }
  144.         public function getTableData():DataProvider {
  145.             createConnection();
  146.             dbSTMT.text = "SELECT * FROM USERTABLE";
  147.             dbSTMT.execute();
  148.             sqlResult = dbSTMT.getResult();
  149.             totalRows = sqlResult.data.length;
  150.             databaseDP = new DataProvider();
  151.             for each(var obj:Object in sqlResult.data){
  152.                 if(obj != null){
  153.                     databaseDP.addItem({label:obj["USERNAME"]});
  154.                     databaseDP.addItem({label:obj["USERPASSWORD"]});
  155.                     databaseDP.addItem({label:obj["USERDESCRIPTION"]});
  156.                 }
  157.             }
  158.             return databaseDP;
  159.         }
  160.         public function getCount():int {
  161.             return totalRows;
  162.         }
  163.         public function writeData(inputUN:String, inputUP:String, inputUD:String):void {
  164.             createConnection();
  165.             dbSTMT.text = "INSERT INTO USERTABLE (" +
  166.                 "USERNAME, " +
  167.                 "USERPASSWORD, " +
  168.                 "USERDESCRIPTION" +
  169.                 ") VALUES (?, ?, ?)";
  170.             dbSTMT.parameters[0] = inputUN;
  171.             dbSTMT.parameters[1] = inputUP;
  172.             dbSTMT.parameters[2] = inputUD;
  173.             dbSTMT.execute();
  174.             closeConnection();
  175.         }
  176.         public function removeRecord(delID:int):void {
  177.             trace("I GOT HERE!");
  178.             createConnection();
  179.             trace(dbSTMT.text = "DELETE FROM USERTABLE WHERE USER_ID = " + delID + "");
  180.             dbSTMT.execute();
  181.             closeConnection();
  182.            
  183.         }
  184.     }
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement