diff options
author | Nico Vertriest <nico.vertriest@qt.io> | 2016-10-27 16:11:01 +0200 |
---|---|---|
committer | Nico Vertriest <nico.vertriest@theqtcompany.com> | 2016-12-12 12:19:09 +0000 |
commit | 5ac14981b03c9c73c08194b1eb992107a096f774 (patch) | |
tree | 0ffe5223081472d6067135c4c9d435c1a2ad24fb /examples/quick/localstorage/localstorage/Database.js | |
parent | cf4e4899d268b8a39578fc9713fa3c56ceecdf0b (diff) |
Example: Improve the localstorage example
- insert/update/delete instead of only insert
- database connection and sql handled in Database.js
Change-Id: I513b23061e569f4511dd166ed79898db7f628139
Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Diffstat (limited to 'examples/quick/localstorage/localstorage/Database.js')
-rw-r--r-- | examples/quick/localstorage/localstorage/Database.js | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/examples/quick/localstorage/localstorage/Database.js b/examples/quick/localstorage/localstorage/Database.js new file mode 100644 index 0000000000..387033795f --- /dev/null +++ b/examples/quick/localstorage/localstorage/Database.js @@ -0,0 +1,97 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: http://www.gnu.org/copyleft/fdl.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +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 + }) + } + }) +} + +function dbUpdate(Pdate, Pdesc, Pdistance, Prowid) +{ + var db = dbGetHandle() + db.transaction(function (tx) { + tx.executeSql( + 'update trip_log set date=?, trip_desc=?, distance=? where rowid = ?', [Pdate, Pdesc, Pdistance, Prowid]) + }) +} + +function dbDeleteRow(Prowid) +{ + var db = dbGetHandle() + db.transaction(function (tx) { + tx.executeSql('delete from trip_log where rowid = ?', [Prowid]) + }) +} |