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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的HTML5相关文章