私の問題は次のとおりです:Phonegap-AppでJavascriptを使用してsqliteデータベースを作成し、Eclipse(LogCat)から次の情報を取得しています:sqliteが返されました:エラーコード14、msg=はソース25467でファイルを開くことができません
これは私がdbを初期化する方法です(正常に動作します):
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ファイルに書き込むためのアクセス許可があると思いますか?何が問題ですか?