1. 程式人生 > >HTML5本地資料庫詳解

HTML5本地資料庫詳解

對於複雜的資料庫,HTML5使用本地資料庫進行操作。這是一個瀏覽器端的資料庫。在本地資料庫中我們可以直接利用JavaScript建立資料庫,並利用SQL語句執行相關的資料庫操作。下面分別介紹本地資料庫的各個API及其使用方法。

1、利用openDatabase建立資料庫

我們可以利用openDatabase方法建立資料庫。openDatabase方法傳遞五個引數,分別是:資料庫名、資料庫版本號(可省略)、對資料庫的描述、設定分配的資料庫的大小、回撥函式。

如果我們要建立一個本地資料庫,可以執行如下程式碼:

var myWebDatabase = openDatabase(“user”, ”1.0”, “user info”, 1024*1024, function(){});

這樣就建立了一個使用者資訊表。之後可以對建立的本地資料庫是否成功進行驗證:

if(!dataBase){
alert(“The database has been created successfully!”);
}else{
alert(“The database has not been successfully created.”)
}if(!dataBase){
alert(“The database has been created successfully!”);
}else{
alert(“The database has not been successfully created.”)
}

2、利用executeSql方法執行sql語句

使用executeSql方法,我們可以直接執行正常的sql語句,如下:

context.executeSql(‘INSERT INTO testTable(id,name) VALUES (1,”Martin”)’);

當然,這裡只體現了executeSql的功能,並沒有確切說明executeSql方法怎麼用,用在哪裡。要想使用該方法就必須介紹transaction

3、利用transaction處理事務、

該方法用來處理事務,可以傳遞三個引數:包含事務內容的一個方法、執行成功的回撥函式、執行失敗的回撥函式(後兩者可以省略)。

結合transaction

executeSql,我們就可在我們之前建立的資料庫中新增建立資料表並新增資料了,程式碼如下:

myWebDatabase.transaction(function (context) {
           context.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)');
           context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');
           context.executeSql('INSERT INTO testTable (id, name) VALUES (1, "Casper")');
           context.executeSql('INSERT INTO testTable (id, name) VALUES (2, "Frank")');
         });

sql語句的含義不多解釋,但從這裡已經可以很明白的看出如何在本地資料庫中,想在一般資料庫中一樣建立資料庫資料表並新增資料了。