2013-11-15 50 views
0

我創建了一個數據庫與YDN:ydn-db:如何調用由ydn創建的數據庫?

var db = new ydn.db.Storage('our_db', our_schema); 

第二次,我測試此DB存在。在成功的情況下,我想調用這個數據庫來應用db.put()和其他東西...

如何在這種情況下將這個數據庫檢索到變量「db」?

我的測試代碼:

if (window.indexedDB){ // if browser supports IndexedDB, create IndexedDB DB 
    var request = window.indexedDB.open("our_db", 1); 
    request.onerror = function(event) { 
    }; 

    request.onsuccess = function(event) { 
     var db = ?????? ; 
    }; 

    request.onupgradeneeded = function(event) { 
     // create the datastore 
     var db = new ydn.db.Storage('our_db', our_schema); 
     console.log("New storage !"); 
    }; 
} 

在情況下,如果你有更好的領悟...... 感謝意見!

回答

1

由於YDN-DB會做這些樣板打開數據庫(IndexedDB的和的WebSQL),你可以做

var db = new ydn.db.Storage('our_db', our_schema); 
db.put('store name', data).done(function(key) { 
    console.log('put with key ' + key); 
}); 

它也沒有必要測試IndexedDB的支持。如果支持,它將被用作第一優先。否則,它將使用其他存儲機制。

知道數據庫已經存在於客戶端,聽ready事件:

db.addEventListener('ready', function(e) { 
    var ver = e.getOldVersion(); 
    if (ver > 0) { 
    console.log('existing database version: ' + ver); 
    } else { 
    console.log('new database created'); 
    } 
}); 
相關問題