thanx Cristhian. i'll check this.

On 9/15/11, Cristhian Flores <cif...@gmail.com> wrote:
> Hi Bishan
>
> I hope is helpful
>
> private var sqlc:SQLConnection = new SQLConnection();
> // sqlc is an SQLStatment which we need to execute our sql commands
> private var sqls:SQLStatement = new SQLStatement();
> // ArrayCollection used as a data provider for the datagrid. It has to be
> bindable so that data in datagrid changes automatically when we change the
> ArrayCollection
> private var dp:ArrayCollection = new ArrayCollection();
>
> private function start():void
> {
>  var folder:File = File.applicationDirectory;
>  var db:File = folder.resolvePath("test.bd");
> // first we need to set the file class for our database (in this example
> test.db). If the Database doesn't exists it will be created when we open it.
>  //var db:File = File.applicationStorageDirectory.resolvePath("test.db");
>  // after we set the file for our database we need to open it with our
> SQLConnection.
>  sqlc.openAsync(db);
> // we need to set some event listeners so we know if we get an sql error,
> when the database is fully opened and to know when we recive a resault from
> an sql statment. The last one is uset to read data out of database.
>  sqlc.addEventListener(SQLEvent.OPEN, db_opened);
> sqlc.addEventListener(SQLErrorEvent.ERROR, error);
>  sqls.addEventListener(SQLErrorEvent.ERROR, error);
> sqls.addEventListener(SQLEvent.RESULT, resault);
> }
>
> private function db_opened(e:SQLEvent):void
> {
> // when the database is opened we need to link the SQLStatment to our
> SQLConnection, so that sql statments for the right database.
>  // if you don't set this connection you will get an error when you execute
> sql statment.
> sqls.sqlConnection = sqlc;
>  // in property text of our SQLStatment we write our sql command. We can
> also combine sql statments in our text property so that more than one
> statment can be executed at a time.
>  // in this sql statment we create table in our database with name
> "test_table" with three columns (id, first_name and last_name). Id is an
> integer that is auto incremented when each item is added. First_name and
> last_name are columns in which we can store text
>  // If you want to know more about sql statments search the web.
> sqls.text = "CREATE TABLE IF NOT EXISTS test_table ( id INTEGER PRIMARY KEY
> AUTOINCREMENT, first_name TEXT, last_name TEXT);";
>  // after we have connected sql statment to our sql connection and writen
> our sql commands we also need to execute our sql statment.
> // nothing will change in database until we execute sql statment.
>  sqls.execute();
> // after we load the database and create the table if it doesn't already
> exists, we call refresh method which i have created to populate our datagrid
>  refresh();
> }
>
> private function addItem():void
> {
> // in this sql statment we add item at the end of our table with values
> first_name.text in column first_name and last_name.text for column last_name
>  sqls.text = "INSERT INTO test_table (first_name, last_name)
> VALUES('"+first_name.text+"','"+last_name.text+"');";
>  sqls.execute();
>  refresh();
> }
>
> private function refresh(e:TimerEvent = null):void
> {
> // timer object which we need if sql statment is still executing so that we
> can try again after 10 milliseconds.
>  var timer:Timer = new Timer(10,1);
> timer.addEventListener(TimerEvent.TIMER, refresh);
>  if ( !sqls.executing )// we need to check if our sql statment is still
> executing our last sql command. If so we use Timer to try again in 10
> milliseconds. If we wouldn't check we could get an error because SQLStatment
> can't execute two statments at the same time.
>  {
> // sql statment which returns all the data from our "test_table". To retrive
> only data from first_name and last_name columns we would use "SELECT
> first_name,last_name FROM test_table"
>  sqls.text = "SELECT * FROM test_table"
> sqls.execute();
> }
>  else
> {
> timer.start();
>  }
> }
>
> private function resault(e:SQLEvent):void
> {
> // with sqls.getResault().data we get the array of objects for each row out
> of our database
>  var data:Array = sqls.getResult().data;
> // we pass the array of objects to our data provider to fill the datagrid
>  dp = new ArrayCollection(data);
> }
>
> // method to remove row from database.
> private function remove():void
> {
> // sql statment to delete from our test_table the row that has the same
> number in number column as our selected row from datagrid
> sqls.text = "DELETE FROM test_table WHERE id="+dp[dg.selectedIndex].id;
>  sqls.execute();
> refresh();
> }
>
> 2011/9/14 lbendlin <l...@bendlin.us>
>
>> you seem to have a fundamental problem here. SQLite is a RELATIONAL
>> database. XML is HIERARCHICAL. The Mericans would say "trying to push a
>> square peg in a round hole"
>>
>> Before you can insert the XML data into SQLite you either need to flatten
>> the data, or indicate a parent/child relationship between entries, or
>> simply
>> store the whole XML as a string.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to android-developers@googlegroups.com
>> To unsubscribe from this group, send email to
>> android-developers+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to