在使用phonegap / coredava安装app问题后第一次运行sqlite

时间:2013-03-21 12:29:52

标签: android sqlite cordova

我正在使用phonegap / coredava开发一个APP,同时尝试在安装应用程序后第一次创建访问数据库我无法访问数据库但在第二次运行时一切正常我怎么能解决这个问题我的javascript代码如下

    var dbsize=4*1024;
    document.addEventListener("deviceready", onDeviceReady, false);
    var dbShell = window.openDatabase("mydb", "1.0", "my db", dbsize); 
    function onDeviceReady(){
        dbShell.transaction(defaultPopulatedb,errorDF,successDF);
    }
    function defaultPopulatedb(tx){ //creating tables for the first time
    tx.executeSql('CREATE TABLE IF NOT EXISTS Userlocation (id INTEGER PRIMARY KEY AUTOINCREMENT, Location TEXT NOT NULL, Locationvalue TEXT NOT NULL)',[],checkfirst,errorTB);
    }
    function checkfirst(tx) 
    {
    tx.executeSql('SELECT * FROM Userlocation',[],chevals,errorDFS);        }
    }
    function chevals(tx,result)
    {     
     var len =result.rows.length;
        if(!len){
        tx.executeSql('INSERT INTO Userlocation(Location,Locationvalue) VALUES ("default","default")',[],added,erdf);
        }
    }
    function errorDFS()
   {
     alert("error");
   }
    function added()
   {
     alert("added");
   }
    function erdf()
   {
     alert("error adding default");
   }
    function errorTB()
   {
     alert("error table");
   }

1 个答案:

答案 0 :(得分:0)

我也遇到过这个问题。您只需尝试{...} catch(ex){...}并忽略第一个异常。

实际上,there是一个很好的数据访问框架,适用于phonegap。