作者:心叶
时间:2018-04-30 15:44
前面说的IndexDB是索引型数据库,相对而言,不是真正的数据库,此处介绍的是关系型数据库,使用的方言是SQLlite。
温馨提示:目前很多浏览器都支持,不过这却是一个规范上被废弃的功能。
这里主要介绍的是下面三个方法:
1.openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象;
2.transaction:这个方法允许我们根据情况控制事务提交或回滚;
3.executeSql:这个方法用于执行SQL查询。
第一步:连接数据库。
var dataBase = openDatabase("hobby", "1.0", "个人业余爱好储存数据库", 1024 * 1024,
function() {
console.log('数据库创建成功');
}
);
1.第一个参数代表数据库名称;
2.第二个参数代表版本号,目前为1.0;
3.第三个参数代表对数据库的描述;
4.第四个参数是用来设置数据的大小;
5.第五个参数是回调函数(可省略)。
openDatabase方法打开一个已经存在的数据库,如果数据库不存在,它还可以创建数据库
第二步:事务。
transaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚,方法包含三个参数:
1.包含事务内容的一个方法;
2.成功回调函数(可选);
3.失败回调函数(可选)。
dataBase.transaction(function(context){
context.executeSql('sql语句一');
context.executeSql('sql语句二');
context.executeSql('sql语句三');
},function(){
console.log('执行成功');
},function(){
console.log('执行失败');
});
上面一共执行了三条sql语句,其中任何一条sql执行如果遇到错误,整个事务都会回滚。
第三步:执行SQL语句。
从上面的事务例子代码应该已经看出来,是在事务里面用executeSql方法来执行sql语句,其中有四个参数:
1.字符串类型的sql语句;
2.用以替换查询字符串中问号的参数,是一个数组;
3.执行成功回调函数(可选),返回两个参数:context和执行的结果;
4.执行失败回调函数(可选),context和失败的错误信息。
使用的SQL语言是SQLite,如果要创建表,执行对数据的增删改查,使用对应的sql语句就可以了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。