我的问题如下:我正在我的 Phonegap-App 中使用 Javascript 创建一个 sqlite 数据库,并从 eclipse (LogCat) 获得以下信息: sqlite 返回:错误代码 14,msg= 无法打开源文件 25467
这就是我初始化数据库的方式(工作正常):
function initDB() {
try {
if (!window.openDatabase) {
alert('doesn't work!');
} else {
var shortName = 'name';
var version = '1.0';
var displayName = 'displayname';
var maxSize = 65536; // in bytes
var db = window.openDatabase(shortName, version, displayName, maxSize);
db.transaction(populateDB, errorCB, successCB);
}
} catch(e) {
// Error handling code goes here.
if (e == INVALID_STATE_ERR) {
// Version number mismatch.
alert("Invalid database version.");
} else {
alert("Unknown error "+e+".");
}
return;
}
}
所以变量 db 是用我的数据库初始化的。然后我尝试使用以下代码填充数据库:
function populateDB(tx) {
//dropping the table if exists for testing
tx.executeSql('DROP TABLE IF EXISTS CLIENT');
//creating a table
tx.executeSql('CREATE TABLE IF NOT EXISTS CLIENT (id int NOT NULL PRIMARY KEY, name text, adress text, notes text)');
//inserting an entry for testing -- SQLITE ERROR 14 HERE!
tx.executeSql('INSERT INTO CLIENT (name, adress, notes) VALUES ("client1","adress1","note1")');
}
我尝试 INSERT INTO CLIENT 的行不起作用,因此事务调用回调函数 errorCB,它显示“错误处理 SQL:1”,LogCat 说 sqlite 返回错误 14 .. 似乎无法修复它,我'正在给我的应用程序所有权限.. 并且创建表 CLIENT 不会给我任何错误,所以我认为该应用程序有权写入 db 文件?问题是什么?