【问题标题】:ydn-db : How do I call a db created by ydn ?ydn-db :如何调用由 ydn 创建的数据库?
【发布时间】:2013-11-15 17:19:00
【问题描述】:

我用 YDN 创建了一个数据库:

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

第二次,我测试这个数据库是否存在。如果成功,我想调用这个数据库来应用 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 !");
    };
}

如果您有更好的想法... 感谢您的建议!

【问题讨论】:

    标签: javascript html indexeddb ydn-db


    【解决方案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');
       }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      相关资源
      最近更新 更多