Cordova 在jquery mobile中创建数据库时出错

Cordova 在jquery mobile中创建数据库时出错,cordova,jquery-mobile,Cordova,Jquery Mobile,我试图在sdcard上创建一个数据库,并在数据库中创建两个表 每当我尝试运行我的应用程序时,我都能够创建表并成功地将值插入其中 但每次尝试运行时,我都会收到一个错误,上面写着“错误处理sql:未定义” 我使用以下代码创建数据库和表 var db; db = window.openDatabase("../../../mnt/sdcard/Database", "1.0", "school", 200000); function createDb() { db.transaction

我试图在sdcard上创建一个数据库,并在数据库中创建两个表

每当我尝试运行我的应用程序时,我都能够创建表并成功地将值插入其中

但每次尝试运行时,我都会收到一个错误,上面写着“错误处理sql:未定义”

我使用以下代码创建数据库和表

var db;

db = window.openDatabase("../../../mnt/sdcard/Database", "1.0", "school", 200000);

function createDb() {

    db.transaction(populateDB, success, errorCB);
}

// Populate the database
function populateDB(tx) {
    //tx.executeSql('DROP TABLE IF EXISTS FOLDER');
    //tx.executeSql('DROP TABLE IF EXISTS table2 ');
    tx.executeSql('CREATE TABLE IF NOT EXISTS FOLDER (id INTEGER PRIMARY KEY AUTOINCREMENT , stdname UNIQUe )');
    tx.executeSql('CREATE TABLE IF NOT EXISTS table2 (stdname,joinedDate)');

}

// Transaction error callback
function errorCB(tx, err) {
    alert("Error processing SQL: " + err);
}

function success() {
    alert("created!");
    //console.log("Huray created");
}
如何避免错误


我的logcat中也没有任何错误。

尝试打开数据库并在内部调用createDb()


当您仅将数据库指定为字母数字字符串(比如“testdb”之类)时,是否会得到相同的行为?如果是这样的话,那可能只是访问sd卡时的错误处理。权限问题,谁知道呢。编辑了答案,试试这个。只有在“DeviceRady”之后才这样做似乎是明智之举。@Suhas_United它仍然是一样的。实际上,我只是在html页面中的设备就绪后调用它。
document.addEventListener("deviceready",function(){
    db = window.openDatabase("../../../mnt/sdcard/Database", "1.0", "school", 200000);
    createDb();

},false
);