Android phonegap/coredava出现应用程序安装问题后首次运行sqlite
我正在使用phonegap/coredava开发一个应用程序,同时在安装应用程序后第一次尝试创建access数据库。我无法访问数据库,但在第二次运行时一切正常。我如何修复此问题?下面是我的javascript代码Android phonegap/coredava出现应用程序安装问题后首次运行sqlite,android,sqlite,cordova,Android,Sqlite,Cordova,我正在使用phonegap/coredava开发一个应用程序,同时在安装应用程序后第一次尝试创建access数据库。我无法访问数据库,但在第二次运行时一切正常。我如何修复此问题?下面是我的javascript代码 var dbsize=4*1024; document.addEventListener("deviceready", onDeviceReady, false); var dbShell = window.openDatabase("mydb", "1.0",
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");
}
我也遇到过这个问题。您只需尝试{…}catch(ex){…}并忽略第一个异常 实际上,它是phonegap的一个很好的数据访问框架