2013-10-10 30 views
5

varsa olsun. Veritabanının zaten oluşturulmuş olup olmadığını bilmem gerek. Db zaten varsa, tüm oluşturma tabloları ve satırlar işlevini önlemek için çalışıyorum.PhoneGap - veritabanı zaten PhoneGap ile veritabanını kullanıyorum

var db = window.openDatabase ("Veri Tabanı", "1.0", "FiltersResults", 50000000);

Bu/tamam benim db yaratır açar, ancak bu veritabanı zaten varsa nasıl anlarım?

cevap

-1

Kontrol belgeleri: 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

Zaten yaptım, ama, VERİTABANI varsa olduğunu bilmemek tablolar gerekir. Veritabanı zaten mevcutsa, bu kod bloğu zaten çalışıyor, neden tekrar yapıyor? –

+1

Veritabanını sayfa başına bir kez açtığınızda açın ve sonra değiştirin. Window.openDatabase'i her sayfada bir kereden fazla çalıştırmanız gerekmiyor, değil mi? Var olup olmadığını kontrol etmeye gerek yok. –

+2

@SamThompson: Ben başka bir sayfaya gidin ve sonra geri bu sayfaya gelip veya uygulamayı öldürmek ve yeniden çalıştırıldığında nasıl önceden oluşturulmuş olan veritabanını almak için. Soru budur. –

0

var db = window.openDatabase("myDB", "1.0", "FiltersResults", 50000000); kontrolleri bunu onu açar varsa bir veritabanı myDB denir varsa. Değilse, bir tane oluşturur ve açar. Birden Veritabanları oluşturarak bunu görüyoruz Yani eğer aşağıdaki I, sadece tamamen tarayıcı çıkın tek bir pencere url çalıştıran daha buna sahip

  • düşünmek ve URL ile bir dul açabilirsiniz iki nedeni olabilir
  • Safari, daha sonraki sürümlerde düzeltilmiş Safari 5.1.2'de tanıtılan bir kullanıcı arayüzü ile ilgili bir hataydı.