我正在使用here中的Cordova SQLite插件。除非要关闭并重新启动应用程序,否则我可以随时插入数据并选择插入的数据。重新启动后,就再也无法在表中找到数据了。请在下面找到我的实现
页面加载-------> Db打开,如果不存在则创建表,如果存在则选择数据
var db = window.sqlitePlugin.openDatabase('mydb.db', '1.0', '', 1);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Receipt (Recdate,Location,Brand,Invno,Blno,Contno,Spec)');
}, function (error) {
console.log('Transaction ERROR: ' + error.message);
}, function () {
console.log('Populated database OK');
});
db.transaction(function (tx) {
tx.executeSql('SELECT Recdate,Location,Brand,Invno,Blno,Contno,Spec FROM Receipt', [], function (tx, rs) {
var objSelect = document.getElementById("loc");
//Set selected
setSelectedValue(objSelect, rs.rows.item(0)['Location'].trim());
var objSelect1 = document.getElementById("brand");
//Set selected
setSelectedValue(objSelect1, rs.rows.item(0)['Brand'].trim());
$("#inv").val(rs.rows.item(0)['Invno'].trim());
$("#bl").val(rs.rows.item(0)['Blno'].trim());
$("#cont").val(rs.rows.item(0)['Contno'].trim());
$("#spec").val(rs.rows.item(0)['Spec'].trim());
//alert(rs.rows.item(0)['location']);
}, function (tx, error) {
console.log('SELECT error: ' + error.message);
});
});
在另一笔交易中插入数据
var db = window.sqlitePlugin.openDatabase('mydb.db', '1.0', '', 1);
db.transaction(function (tx) {
//tx.executeSql('INSERT INTO Receipt VALUES (?1,?2,?3,?4,?5,?6,?7)', [78,65,59, 87,45,52,78]);
tx.executeSql('INSERT INTO Receipt VALUES (?1,?2,?3,?4,?5,?6,?7)', [today1, $("#loc").val(), $("#brand").val(), $("#inv").val(), $("#bl").val(), $("#cont").val(), $("#spec").val()]);
}, function (error) {
console.log('Transaction ERROR: ' + error.message);
}, function () {
gotopage('recscan.html');
console.log('Populated database OK');
});
每次加载页面时,我都能够选择插入的数据,但是只有当我重新启动时,所有插入的数据都会丢失。对解决方法的任何轻率表示感谢。