欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

html5 Web SQL Database 之事务处理函数transaction与executeSQL解析

程序员文章站 2023-12-09 15:03:51
通过一个例子说明 Web SQL Database 的基本用法。它首先调用 openDatabase 创建了名为“fooDB”的数据库。然后使用 transaction 执行两条 SQL 语句。第一条 SQL 语句创建了名为“foo... 13-11-07...

1、在创建或打开数据库以后,就可以使用事务 api transaction。每一个事务作为操作数据库的原子操作,不会被打断,从而避免了数据冲突。transaction 的定义是:

复制代码
代码如下:

void transaction(querysql, errorcallback, successcallback);

querysql:事务回调函数,其中可以执行 sql 语句。(必选)

errorcallback:出错回调函数。(可选)

successcallback:执行成功回调函数。(可选)

2、在回调函数querysql中,可以执行sql语句,对应的api函数为executesql,executesql 的定义是:

复制代码
代码如下:

void executesql(sqlstatement, arguments, callback, errorcallback);

sqlstatement:sql 语句。(必选)

arguments:sql 语句需要的参数,是一个按照sql语句中的?先后顺序排列的一维数组。(可选)

callback:回调函数。(可选)

errorcallback:出错回调函数。(可选)

web sql database 示例

下面通过一个例子说明 web sql database 的基本用法。它首先调用 opendatabase 创建了名为“foodb”的数据库。然后使用 transaction 执行两条 sql 语句。第一条 sql 语句创建了名为“foo”的表,第二条 sql 语句向表中插入一条记录。示例代码:

复制代码
代码如下:

var db = opendatabase('foodb', '1.0', 'foodb', 2 * 1024);
db.transaction(function (tx) {
tx.executesql('create table if not exists foo (id unique, text)');
tx.executesql('insert into foo (id, text) values (1, "foobar")');
});