Link to home
Start Free TrialLog in
Avatar of Mike Waller
Mike WallerFlag for United States of America

asked on

update query to SQLite database

I'm trying to do an update query from a Zinc textfield component to SQLite database.  The following won't work.  Any idea what I need to adjust?


on(release)
{
var val = _parent.myDB.runQuery("UPDATE preferences SET typenum = \""+thisfield.text+"\" WHERE id = 1;");

}
Avatar of ch2
ch2

Well did never use that class but as i know a bit of sqlite and mysql. Did you open a connection to the database?

I searched a bit and got to this link: http://www.thecodezone.com/downloads/sqlite.html

So try like this

// Connect
var id:Boolean = _parent.myDB.connect("my.db");
// Check connection
if (id) {
      trace("connected");
      var stat:Boolean = _parent.myDB.runQuery("UPDATE preferences SET typenum = \""+thisfield.text+"\" WHERE id = 1;");
      if (stat) {
            // Check if inserted
            trace("Record inserted");
      } else {
            trace("Record not inserted");
      }
} else {
      trace("Record not connected");
}
_parent.myDB.close;
Avatar of Mike Waller

ASKER

Thanks but the issue is that it inserts the string "+thisfield.text+" instead of the value inside that textfield which is a number or anything else the end user enters.  Not sure how to handle that on an update query.
Try this.

_parent.myDB.runQuery("UPDATE preferences SET typenum = '"+thisfield.text+"' WHERE id = 1;");
or also try this.

_parent.myDB.runQuery("UPDATE preferences SET typenum = "+chr(34)+thisfield.text+chr(34)+" WHERE id = 1;");
Ok, let me try those..
If the above dosen't work also try this and post here the trace.

var sql = "UPDATE preferences SET typenum = '"+thisfield.text+"' WHERE id = 1;";
trace (sql)
_parent.myDB.runQuery(sql);
Ok, I tried the first solution:

_parent.myDB.runQuery("UPDATE preferences SET typenum = '"+thisfield.text+"' WHERE id = 1;");

and it inserted undefined
Ok, I also tried:

_parent.myDB.runQuery("UPDATE preferences SET typenum = "+chr(34)+thisfield.text+chr(34)+" WHERE id = 1;");

and that didn't update anything.
The trace on the above is:

UPDATE preferences SET typenum = 'undefined' WHERE id = 1;
ok so that is correct.

This is the right one:

_parent.myDB.runQuery("UPDATE preferences SET typenum = '"+thisfield.text+"' WHERE id = 1;");

but now your problem is the textfield because it's unefined or empty. Where is the textfield located?
The textfield is located on the _root with the button to update.  Both are flash components.
ASKER CERTIFIED SOLUTION
Avatar of ch2
ch2

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
YES!!!!!!

_root didn't get referneced.  

Thanks ch2!
nice it worked for you!

Thanks for the points.