首頁  >  文章  >  web前端  >  html5 Web SQL Database 之事務處理函數transaction與executeSQL解析_html5教學技巧

html5 Web SQL Database 之事務處理函數transaction與executeSQL解析_html5教學技巧

WBOY
WBOY原創
2016-05-16 15:48:431978瀏覽

1、在建立或開啟資料庫以後,就可以使用事務 API transaction。每一個事務作為操作資料庫的原子操作,不會被打斷,從而避免了資料衝突。 transaction 的定義是:

複製程式碼
程式碼transaction(querysql, errorCallback, successCallback);


querysql:
事務回呼函數,其中可以執行SQL 語句。 (必選)
errorCallback:出錯回呼函數。 (可選)

successCallback:

執行成功回呼函數。 (可選)

2、在回呼函數querysql中,可以執行SQL語句,對應的API函數為executeSQL,executeSQL 的定義是:



複製程式碼
程式碼如下:
void executeSql(sqlStatement, arguments, callback, :
SQL 語句。 (必選)


arguments:
SQL 語句所需的參數,是一個依照sql語句中的?先後順序排列的一維數組。 (可選)
callback:回呼函數。 (可選)

errorCallback:

出錯回呼函數。 (可選)

Web SQL Database 範例

以下透過一個範例說明 Web SQL Database 的基本用法。它首先呼叫 openDatabase 建立了一個名為「fooDB」的資料庫。然後使用 transaction 執行兩個 SQL 語句。第一條 SQL 語句建立了一個名為「foo」的表,第二個 SQL 語句在表格中插入一筆記錄。範例程式碼:

複製程式碼



程式碼如下:

var db fooDB', '1.0', 'fooDB', 2 * 1024); db.transaction(function (tx) { tx.executeSql(')CREATE TABLE IF NOT EXISTS foo (id unique, text)')CREATE TABLE IF NOT EXISTS foo (id unique, text)')CREATE TABLE IF NOT EXISTS foo (id unique, text)')CREATE TABLE IF NOT EXISTS foo (id unique, text)')CREATE TABLE IF NOT EXISTS foo (id unique, text)') ; tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "foobar")');
});

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn