0

我正在尝试在 sdcard 上创建一个数据库,并在数据库中创建 2 个表。

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

但是每次我尝试运行时都会收到一条错误消息“错误处理 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 也没有出现任何错误。

4

1 回答 1

0

尝试打开数据库并在里面调用 createDb() :

document.addEventListener("deviceready",function(){
    db = window.openDatabase("../../../mnt/sdcard/Database", "1.0", "school", 200000);
    createDb();

},false
);
于 2013-05-16T10:28:49.153 回答