如何在Phonegap应用程序IOS和Android中使用Sqlite数据库

时间:2014-06-30 05:23:27

标签: cordova

我正在使用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);
    }

}

1 个答案:

答案 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 ...

希望这有帮助。