通過(guò)一個(gè)例子說(shuō)明 Web SQL Database 的基本用法。它首先調(diào)用 openDatabase 創(chuàng)建了名為“fooDB”的數(shù)據(jù)庫(kù)。然后使用 transaction 執(zhí)行兩條 SQL 語(yǔ)句。第一條 SQL 語(yǔ)句創(chuàng)建了名為“foo”的表,第二條 SQL 語(yǔ)句向表中插入一條記錄
1、在創(chuàng)建或打開(kāi)數(shù)據(jù)庫(kù)以后,就可以使用事務(wù) API transaction。每一個(gè)事務(wù)作為操作數(shù)據(jù)庫(kù)的原子操作,不會(huì)被打斷,從而避免了數(shù)據(jù)沖突。transaction 的定義是:
代碼如下:
void transaction(querysql, errorCallback, successCallback);
querysql:事務(wù)回調(diào)函數(shù),其中可以執(zhí)行 SQL 語(yǔ)句。(必選)
errorCallback:出錯(cuò)回調(diào)函數(shù)。(可選)
successCallback:執(zhí)行成功回調(diào)函數(shù)。(可選)
2、在回調(diào)函數(shù)querysql中,可以執(zhí)行SQL語(yǔ)句,對(duì)應(yīng)的API函數(shù)為executeSQL,executeSQL 的定義是:
代碼如下:
void executeSql(sqlStatement, arguments, callback, errorCallback);
sqlStatement:SQL 語(yǔ)句。(必選)
arguments:SQL 語(yǔ)句需要的參數(shù),是一個(gè)按照sql語(yǔ)句中的?先后順序排列的一維數(shù)組。(可選)
callback:回調(diào)函數(shù)。(可選)
errorCallback:出錯(cuò)回調(diào)函數(shù)。(可選)
Web SQL Database 示例
下面通過(guò)一個(gè)例子說(shuō)明 Web SQL Database 的基本用法。它首先調(diào)用 openDatabase 創(chuàng)建了名為“fooDB”的數(shù)據(jù)庫(kù)。然后使用 transaction 執(zhí)行兩條 SQL 語(yǔ)句。第一條 SQL 語(yǔ)句創(chuàng)建了名為“foo”的表,第二條 SQL 語(yǔ)句向表中插入一條記錄。示例代碼:
代碼如下:
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")');
});