2013-10-10 16 views
5

私はPhonegapでデータベースを使用しています。データベースがすでに作成されているかどうかを知る必要があります。私は、テーブルが作成され、行が挿入されるのを回避しようとしています。Phonegap - データベースが既に存在する場合に取得する

var db = window.openDatabase( "Database"、 "1.0"、 "FiltersResults"、50000000);

これは私のdbを開く/作成しますが、このデータベースがすでに存在するかどうかをどのように知ることができますか?

答えて

-1

ドキュメントチェック:それはそれを開いた場合に、これをmyDBというデータベースを持っている場合http://docs.phonegap.com/en/3.0.0/cordova_storage_storage.md.html#Storage

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")'); 
} 

function errorCB(err) { 
    alert("Error processing SQL: "+err.code); 
} 

function successCB() { 
    alert("success!"); 
} 

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

私はすでに行っていましたが、テーブルではなくデータベースが存在するかどうかを知る必要があります。データベースがすでに存在する場合は、コードブロックがすでに実行されていることを意味します。 –

+1

1ページに1回ずつデータベースを開き、操作します。とにかくページごとにwindow.openDatabaseを2回以上実行する必要はありませんか?したがって、存在するかどうかを確認する必要はありません。 –

+2

@SamThompson:別のページに移動してそのページに戻るか、アプリケーションを終了してもう一度実行した場合、既に作成されているデータベースを取得する方法。それが問題です。 –

0

var db = window.openDatabase("myDB", "1.0", "FiltersResults", 50000000);チェックを。そうでなければ、それを作成して開きます。あなたが複数のデータベースを作成し、それを見ているのであれば、以下の私は、ちょうど完全にブラウザを終了しますが、一つのウィンドウにはそのURLを実行しているより多くのことを持っている

  • を考えると、URLと1人の未亡人を開くことができる2つの理由ができ
  • Safari 5.1.2で導入された既知のUI関連のバグで、それ以降のバージョンで修正されました。
関連する問題