3

Sqlite DBを作成していますが、データベースにアクセスしたいページがたくさんあります。

作成したい新しいテーブルがある場合、データベース全体を再度実行する必要がありますか?

そして、(Delete、insert、...)のようなステートメントがある場合、コード内のどこからでもdbにアクセスし、必要なときにいつでも「db.executesql()」を呼び出すことができますか?

4

1 に答える 1

2

PhoneGapのドキュメント(http://docs.phonegap.com/en/1.9.0/cordova_storage_storage.md.html#Storage )にあるように、次のように実行できます。

// Cordova is ready
function onDeviceReady() {
    var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
    db.transaction(populateDB, errorCB, successCB);
}

// Populate the database 
function populateDB(tx) {
     tx.executeSql('DROP TABLE IF EXISTS DEMO');
     tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
     tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
     tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}

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

// Transaction success callback
function successCB() {
    alert("success!");
}

したがって、最初にデータベースを開き、次に次の例のようにsqlを実行する必要があります。

var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);

上記のように、さまざまな目的のために、さまざまなSQL実行コードを使用してさまざまな関数を作成するだけpopulateDBです。

于 2012-07-08T14:04:36.603 に答える