SQLite database locked on localstorage example
Unsolved
3rd Party Software
-
Hi,
Trying to use localstorage example, the database is locked with:
function dbInit() { var db = LocalStorage.openDatabaseSync("Activity_Tracker_DB", "", "Track exercise", 1000000) try { db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS trip_log (date text,trip_desc text,distance numeric)') }) } catch (err) { console.log("Error creating table in database: " + err) }; } function dbGetHandle() { try { var db = LocalStorage.openDatabaseSync("Activity_Tracker_DB", "", "Track exercise", 1000000) } catch (err) { console.log("Error opening database: " + err) } return db } function dbInsert(Pdate, Pdesc, Pdistance) { var db = dbGetHandle() var rowid = 0; db.transaction(function (tx) { tx.executeSql('INSERT INTO trip_log VALUES(?, ?, ?)', [Pdate, Pdesc, Pdistance]) var result = tx.executeSql('SELECT last_insert_rowid()') rowid = result.insertId }) return rowid; } function dbReadAll() { var db = dbGetHandle() db.transaction(function (tx) {var results = tx.executeSql( 'SELECT rowid,date,trip_desc,distance FROM trip_log order by rowid desc') for (var i = 0; i < results.rows.length; i++) { listModel.append({ id: results.rows.item(i).rowid, checked: " ", date: results.rows.item(i).date, trip_desc: results.rows.item(i).trip_desc, distance: results.rows.item(i).distance }) } }) }
How can I unlock the database?...
May be with begin / commit but I don't know how.Thank you for your help
Kind regardsPhilippe
-
@filipdns said in SQLite database locked on localstorage example:
How can I unlock the database?...
Maybe you need to close it?
-
@filipdns said in SQLite database locked on localstorage example:
Following documentation, js transactions are suppose to automatically close db.
Why do you work on DB in JavaScript/QML?
I think it will made more sense to do the DB work on C++ side and implement a QML/C++ interface to access to the data.
JS/QML is powerful to create/handle user interface, but to work with data C++ is the better choice!