微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTML5数据库存储(SQL lite) – 几个问题

Hy有,

我不能在网上找到足够的初学者资源关于HTML5数据库存储使用示例(CRUD)

我打开(创建)我的DB像这样:

var db;

$(document).ready(function() 
{

    try
    {
      if (!window.openDatabase) {
            alert('Not Supported -> Please try with a WebKit browser');
      } else {
          var shortName = 'mydatab';
          var version = '1.0';
          var displayName = 'User Settings Database';
          var maxSize = 3072*1024; //  = 3MB            in bytes 65536
          db = openDatabase(shortName,version,displayName,maxSize);      
          }
    } 
    catch(e) 
    {
      if (e == 2) {

          alert("Invalid database version.");
      } else {
          alert("UnkNown error "+e+".");
      }return;
    }
});

问题1:我可以在一个域上创建和使用多少数据库
问题2.如何删除(删除)数据库。 – >我还没有想到这一点。

要创建SQL查询,请使用transaction:

function nullDataHandler(transaction,results) { }
function createTables(db)
{
  db.transaction(function (transaction)
  {
    //first query causes the transaction to (intentionally) fail if the table exists.
    transaction.executesql('CREATE TABLE people(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL DEFAULT "John Doe",shirt TEXT NOT NULL DEFAULT "Purple");',[],nullDataHandler,errorHandler);
  });
}

问题3:如果表存在,上述transaciton如何失败?是nullDataHandler涉及到这样做吗?在web上是否有解释executesql API的文档?参数?

谢谢

解决方法

你要找的规格是 Web SQL Database.一个快速阅读建议:

>没有限制,虽然一旦你的数据库增加超过一定的大小(5MB似乎是认值),浏览器将提示用户允许更多的空间。
>在当前规范中没有办法删除数据库
> executesql()函数接受一个可选的错误回调参数。

HTML5 Doctor也有一个很好的介绍。

但是,我建议查看Indexed DB. Web sql本质上已被放弃,因为没有sql / sqlite的标准。即使微软已经赞成Indexed DB。见Consensus emerges for key Web app standard

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。