首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML5数据库存储(SQL lite) -几个问题

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

Stack Overflow用户
提问于 2010-04-22 18:21:57
回答 5查看 62.5K关注 0票数 26

好了,

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

我像这样打开(创建)我的数据库:

代码语言:javascript
运行
复制
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:

代码语言:javascript
运行
复制
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:如果存在表,那么上述事务如何失败?nullDataHandler是否参与了这项工作?web上哪里有解释executeSql应用程序接口的文档?争论?

thx

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-04-22 19:43:26

您要查找的规范是Web SQL Database。快速阅读后会发现:

  1. 没有限制,但一旦数据库增加到超过特定大小(5MB似乎是默认值),浏览器将提示用户留出更多空间。
  2. 在当前规范中,无法删除数据库。
  3. executeSql()函数接受可选的错误回调参数。

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

不过,展望未来,我会推荐使用Indexed DB。Web基本上已经被抛弃了,因为没有SQL / SQLite的标准。甚至微软也支持索引数据库。参见Consensus emerges for key Web app standard

票数 32
EN

Stack Overflow用户

发布于 2012-02-15 10:05:46

代码语言:javascript
运行
复制
CREATE TABLE IF NOT EXISTS table_name

仅当if不存在时,才会创建表table_name

票数 2
EN

Stack Overflow用户

发布于 2013-02-09 23:52:25

我发现以下WebSQL教程对基本的CRUD操作很有帮助,因为它们包含示例,并解释了代码的作用:

  • A Simple TODO list using HTML5 WebDatabases
  • HTML5 Web SQL Database

以及SequelSphere的以下链接( WebSQL的HTML5 JavaScript SQL Relational Database替代方案,适用于所有浏览器,以LocalStorage和IndexedDB格式存储数据):

  • SequelSphere basic Usage instructions
  • API Documentation
  • Full Index of Guides and Helper Documentation
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2689939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档