1

アプリのインストール後に初めてアクセスデータベースを作成しようとしているときに、phonegap/coredava を使用して APP を開発しています。

    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 に答える