HTML5 Indexed Database API 入門(8) - 建立與刪除物件倉儲

HTML5 Indexed Database API 入門系列

完成資料庫的開啟之後,必須進一步建立各種物件倉儲以支援資料的維護管理,新建立的資料庫並沒有任何物件倉儲, IDBDatabase 資料庫物件的方法成員 createObjectStore 支援所需的功能,它的定義如下:

IDBObjectStore createObjectStore (
DOMString name,
optional IDBObjectStoreParameters optionalParameters);

參數 name 為所要建立的物件倉儲名稱, optionalParameters 則是選擇性參數,如果需要提供進一步的資料-例如索引或是鍵值自動遞增等相關特性,可以在這個位置傳入,此方法調用若失敗,會觸發 DOMException 例外。

如果createObjectStore() 方法調用成功,則回傳新建立的 IDBObjectStore 物件,透過此物件就可以進行資料的維護管理作業了。當你不需要某個資料庫中現存的物件倉儲,可以調用 deleteObjectStore() 方法,傳入所要刪除的物件倉儲名稱即可,定義如下:

Void deleteObjectStore (DOMString name);

其中的 name 參數為所要刪除的物件倉儲名稱字串,同樣的,這個方法調用失敗時亦會觸發例外。以下的 addOS() 函式建立一個名稱為 osname 的新物件倉儲。

function addOS() {
            var request = indexedDB.open(requestName, version);
            request.onupgradeneeded = function (event) {
                    var db = event.target.result;
     // osname 為新建立的物件倉儲名稱
                    var objectStore = db.createObjectStore(osname);  
            }
        }

以下的 deleteOS() 函式刪除一個名稱為 osname 的現成物件倉儲。

function deleteOS() {   
            var request = indexedDB.open(requestName, version);
            request.onupgradeneeded = function (event) {                                 
                    var db = event.target.result;
     // osname 為刪除的物件倉儲名稱
                    db.deleteObjectStore(osname);                    
            }
        }

HTML5 Indexed Database API 入門系列


沒有留言: