Flex/Air and SQLite

Could someone show me a very simple example of using Flex/Air with something other than a datagrid?  I'm trying to get a handle on using sqlite and i'd like to have something like a form or a few textinput components that you can input text into, save that data (to sqlite) and then when you reopen the app later, the data is there.
moglieAsked:
Who is Participating?
 
Fuzzy_Logic_Connect With a Mentor Commented:
And a crude example I've knocked up stripped down to the bare basics for creating, inserting and selecting:


<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()">
        
        <mx:Script>
                <![CDATA[
                        import mx.collections.ArrayCollection;
                        
                        private var sqlConn:SQLConnection;
                        private var sqlFile:File;
                        
                        private function init():void
                        {
                                sqlFile = File.applicationStorageDirectory.resolvePath("emps.db");
                                sqlConn = new SQLConnection();
                                sqlConn.open(sqlFile, SQLMode.CREATE);
                                
                                var sql:SQLStatement = new SQLStatement();
                                sql.sqlConnection = sqlConn;
                                sql.text = "CREATE TABLE IF NOT EXISTS emps(" + 
                                                "empID INTEGER PRIMARY KEY AUTOINCREMENT, " + 
                                                "eName TEXT, " + 
                                                "age TEXT)";
 
                                 sql.execute();
                                 var result:SQLResult = sql.getResult();
                                 trace("emp table created");
                        }
                        
                        private function saveEmp():void
                        {
                                var sql:SQLStatement = new SQLStatement();
                                sql.sqlConnection = sqlConn;
                                sql.text = 
                                "INSERT INTO emps (" + 
                                "eName, age )" + 
                                "VALUES ('" + 
                                this.eName.text + "', '" + this.age.text + "')";
 
                                sql.execute();
                                var result:SQLResult = sql.getResult();
                                trace("emp saved");
                        }
                        
                        private function getEmp():void
                        {
                        
                                var sql:SQLStatement = new SQLStatement();
                                sql.sqlConnection = sqlConn;
                                sql.text = "SELECT * FROM emps WHERE empID = " + this.numID.value;
                                sql.execute();
                                var result:SQLResult = sql.getResult();
                                
                                var empsAC:ArrayCollection = new ArrayCollection(result.data);
 
                                this.empID.text = empsAC[0].empID;
                                this.eName.text = empsAC[0].eName;
                                this.age.text = empsAC[0].age;
                                
                        }
                        
                ]]>
        </mx:Script>
        
        
        <mx:Tile width="120">
            
        
        <mx:Button label="Save" click="saveEmp()"/>
        <mx:Button label="Get Employee" click="getEmp()"/> <mx:NumericStepper id = "numID" />
        <mx:Label text = "empID" />
        <mx:TextArea id="empID" width = "50" height = "20" editable="false"/>
        <mx:Label text = "eName" />
        <mx:TextArea id="eName" width = "100" height = "20" />
        <mx:Label text = "age" />
        <mx:TextArea id = "age" width = "50" height = "20" />
        
        </mx:Tile>
</mx:WindowedApplication>

Open in new window

0
 
moglieAuthor Commented:
Thanks, that's what I needed to get me going in the right direction.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.