Web SQL数据存储

虽然Web SQL API 已经被废除,但我们了解一下也是没错的。

核心的三大方法:

● openDatabase():这个方法使用现有数据库和新创建的数据库来创建数据库对象
● transaction(): 执行事务处理。防止在对数据库进行访问及执行有关操作时受到外界干扰。
● executeSql():创建数据库表,也可以执行、增删查改等数据操作。

打开数据库

openDatabase()方法:返回一个数据库对象,接受5个参数:
1:数据库名字
2:数据库版本
3:数据库说明
4:数据库保存数据的大小
5:回调函数:在数据库创建之后会执行(非必须)

  var db = openDatabase('mydb','1.0','text db',2*1024*1024);

事务

通过事务对数据库进行操作

transaction()方法:通过返回的数据库对象调用,接受3个参数:
1:callbackFun: 执行访问数据库的SQL语句操作的一个函数
2: errorCallbackFun:发生错误时调用的回调函数(可选)
3: successCallbackFun: 执行成功时的回调函数(可选)``
db.transaction(callbackFun,errorCallbackFun,successCalbackFun);
transaction()中需要传入一个事件参数tx;

 db.transaction(function(tx){
        tx.executeSql('CREATE TABLE IF NOT EXISTS testTable(id,name)');
        tx.executeSql('INSERT INTO testTable  VALUES(?,?)', ['0',"Byron"]);
        tx.executeSql('INSERT INTO testTable  VALUES(?,?)', ['1',"Casper"]);
        tx.executeSql('INSERT INTO testTable  VALUES(?,?)', ['2',"Frank"]);
    });

数剧操作

executeSql()方法:执行SQL语句,事件参数tx有一个executeSql()方法,调用它可以执行SQL语句。
接受4个参数: tx.executeSql(sqlstring,[],dataHandler,errorHandler);
1:sqlstring: 查询的字符串,即要执行的SQL语句。如果有参数,用?代替
2:[]:执行SQL语句时需要传入的参数,即sqlstring语句中使用?时所在处的字符串数据
3: dataHandler: 执行成功时的回调函数。两个参数,1:tx对象 2:返回的查询到的结果数据集对象
4: erroeHandler: 执行失败时的回调函数。两个参数与上面一样

数据库的查询

  function getObjList(){
        db.transaction(function(tx){
        tx.executeSql('SELECT * FROM testTable',[],function(tx,results){
            var len = results.rows.length;
            console.log(len);
            for(var i = 0;i < len;i++)
            {
                console.log('id:'+results.rows.item(i).id);
                console.log('name:'+results.rows.item(i).name);
            }
        });
    });
    }  

数据库的删除

 function delObj(objname){
        db.transaction(function(tx){
        tx.executeSql('DELETE FROM testTable WHERE name=?',[objname],function(){
            getObjList();     
        },function(tx,results){
            alert('删除过程中出现错误,错误原因'+results.massage);
        });
    });
    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值