凤凰台上凤凰游,凤去台空江自流。吴宫花草埋幽径,晋代衣冠成古丘。三山半落青天外,二水中分白鹭洲。总为浮云能蔽日,长安不见使人愁。

html5 本地数据库(Web SQL Database)之事务处理函数 transaction和executeSQL 详解

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")'); 
 }); 

 

 

 

posted @ 2013-04-23 16:25  天兵Q  阅读(2207)  评论(2编辑  收藏  举报