H5本地存储之WebSql

测试浏览器支持

if(!window.openDatabase) {
    console.log('当前环境不支持websql');
    return;
}

三个核心方法

  1. openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象
  2. transaction:这个方法允许我们根据情况控制事务提交或回滚
  3. executeSql:这个方法用于执行SQL 查询

openDatabase

//初始化websql数据库的参数信息
var config = {
    name: 'local_db',//数据库名字
    version: '',//数据库版本号
    desc: 'my local db',//显示名字
    size: 20 * 1024//数据库保存数据的大小(以字节为单位 )
};
var db = window.openDatabase(config.name, config.version, config.desc, config.size);

openDatabase接收五个参数:

  1. 数据库名字
  2. 数据库版本号
  3. 显示名字
  4. 数据库保存数据的大小(以字节为单位 )
  5. 回调函数(非必须)

如果提供了回调函数,回调函数用以调用 changeVersion() 函数,不管给定什么样的版本号,回调函数将把数据库的版本号设置为空。如果没有提供回调函数,则以给定的版本号创建数据库。

transaction

var sql = 'SELECT * FROM t_plan';
db.transaction(function(tx) {
    tx.executeSql(sql, null, function(tx, rs) {
        console.log('list:' + rs.rows);
    }, errorCallback);
});

function errorCallback(error) {
    console.error('error:' + error.message);
}

transaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚。方法有三个参数

  1. 包含事务内容的一个方法
  2. 执行成功回调函数(可选)
  3. 执行失败回调函数(可选)

executeSql

executeSql方法用以执行SQL语句,返回结果,方法有四个参数

  1. 查询字符串
  2. 用以替换查询字符串中问号的参数
  3. 执行成功回调函数(可选)
  4. 执行失败回调函数(可选)

示例同上

完整示例




    
    
    


    
    


你可能感兴趣的:(H5本地存储之WebSql)