2013-10-10 27 views
5

Ich benutze Datenbank mit Phonegap. Ich muss wissen, ob die Datenbank bereits erstellt wurde. Ich versuche zu vermeiden, die gesamte Erstellung von Tabellen und Einfügen von Zeilen Funktion, wenn die Datenbank bereits existiert.Phonegap - get, wenn Datenbank bereits existiert

var db = window.openDatabase ("Datenbank", "1.0", "FiltersResults", 50000000);

Dies öffnet/erstellt meine db, ok, aber woher weiß ich, ob diese Datenbank bereits existiert?

Antwort

-1

Überprüfen Sie die Dokumentation: 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

Ich bereits getan, aber ich muss wissen, ob die Datenbank vorhanden ist, nicht die Tabellen. Wenn die Datenbank bereits existiert, bedeutet dies, dass der Codeblock bereits ausgeführt wurde. Warum nochmal? –

+1

Sie öffnen die Datenbank einmal pro Seite laden, dann manipulieren Sie sie. Sie sollten window.openDatenbank nicht mehr als einmal pro Seite ausführen, oder? Es besteht also keine Notwendigkeit zu prüfen, ob es existiert. –

+2

@SamThompson: Wenn ich auf eine andere Seite gehe und auf diese Seite zurückkomme oder die Anwendung abbringe und sie erneut ausführe, dann wie man die Datenbank, die bereits erstellt wurde, abruft. Das ist hier die Frage. –

0

Die var db = window.openDatabase("myDB", "1.0", "FiltersResults", 50000000); prüft, ob Sie eine Datenbank myDB genannt haben, wenn sie es öffnet es existiert. Wenn nicht, erstellt es eins und öffnet es. Also, wenn Sie es Erstellen mehrerer Datenbanken sehen, können unter zwei Gründe sein, die ich denken kann

  • Sie haben mehr als ein Fenster, das URL ausgeführt wird, nur den Browser beenden vollständig und öffnen Sie eine Witwe mit der URL
  • war ein wissender UI-bezogener Fehler in Safari 5.1.2, behoben in späteren Versionen.
Verwandte Themen