我正在使用phonegap应用程序。我在我的应用程序中完成了记住我的功能。所以,如果用户使用了“记住我”选项。只是我将用户重定向到收件箱邮件页面。但应用程序关闭时会删除数据库,第二次打开时会删除。问题是我的收件箱中未加载数据库值。当用户在没有注销的情况下关闭应用程序时,我不想删除数据库。请帮帮我。
我创建了数据库主体onload =" init()"
function init() {
document.addEventListener("deviceready", onDeviceReady, false);
delete init;
}
function onDeviceReady() {
if(window.localStorage.getItem("remember") == null)
{
db = window.openDatabase("SampleDB","0.1","Name DB", 5000000);
db.transaction(createDB, errorDB, txSuccess);
}
}
答案 0 :(得分:2)
在createDB()调用中,您有一个DROP表sql语句。因此,每次打开应用程序时,都会执行DROP表和CREATE TABLE。另外我注意到DROP语句是不同的表“zergid”而不是CREATE语句“mytable”。这是你的要求吗?
function createDB(tx) {
tx.executeSql("DROP TABLE IF EXISTS zergId");
tx.executeSql("CREATE TABLE mytable(id INTEGER, user_id , s_id , s_name, r_id , r_name, e_id , subject, char_id , char_name, g_id , g_name, parent_id INTEGER , is_viewed ,is_parent, is_garbage, is_deleted, message, created_date)");
}
如果您只想创建一次表,可以使用 IF NOT EXISTS 子句。
tx.executeSql("CREATE TABLE IF NOT EXISTS mytable(id INTEGER ...
希望这有帮助。