html5 Web SQL Database 之事务处理函数transaction与exe
在数据库创建或打开之后,事务API transaction便可供使用。每一次事务都是操作数据库的不可分割的操作单元,确保数据操作的完整性和安全性,避免数据冲突。
transaction的定义是这样的:你可以使用它作为你的数据库操作的框架,其格式为:
```csharp
void transaction(querysql, errorCallback, successCallback);
```
其中:
querysql:事务回调函数,你可以在这里执行SQL语句。(这是必需的)
当我们在处理数据库事务时,可能会遇到错误或需要响应成功的情况,为此我们提供了另外两个回调函数:
errorCallback:出错时执行的回调函数。(这是可选的)
successCallback:事务成功执行后调用的回调函数。(同样,这也是可选的)
在querysql回调函数中,你可以执行SQL语句,对应的API函数是executeSql。其定义如下:
```csharp
void executeSql(sqlStatement, arguments, callback, errorCallback);
```
参数说明:
sqlStatement:你需要执行的SQL语句。(这是必需的)
arguments:SQL语句所需的参数,这些参数按照sql语句中的?的顺序排列的一维数组。(这是可选的)
callback:SQL语句执行成功后的回调函数。(这也是可选的)
errorCallback:出错时执行的回调函数。(同样,这也是可选的)
接下来,通过一个Web SQL Database的示例来进一步说明其用法。假设我们正在为狼蚁网站进行SEO优化,我们需要创建一个数据库,并执行一些SQL语句。示例代码如下:
```javascript
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")');
});
```