1

我正在使用phonegap / coredava开发一个应用程序,同时尝试在安装应用程序后第一次创建访问数据库我无法访问数据库但在第二次运行时一切正常我该如何解决这个问题我的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");
   }
4

1 回答 1

0

我也遇到过这个问题。您可以简单地 try{...} catch (ex){...} 并忽略第一个异常。

实际上, phonegap一个很棒的数据访问框架。

于 2013-03-22T10:57:54.977 回答