在本地數(shù)據(jù)庫中我們可以直接利用JavaScript創(chuàng)建數(shù)據(jù)庫,并利用SQL語句執(zhí)行相關的數(shù)據(jù)庫操作。對于復雜的數(shù)據(jù)庫,HTML5使用本地數(shù)據(jù)庫進行操作,需要的朋友可以參考下
下面分別介紹本地數(shù)據(jù)庫的各個API及其使用方法。
1、利用openDatabase創(chuàng)建數(shù)據(jù)庫
我們可以利用openDatabase方法創(chuàng)建數(shù)據(jù)庫。openDatabase方法傳遞五個參數(shù),分別是:數(shù)據(jù)庫名、數(shù)據(jù)庫版本號(可省略)、對數(shù)據(jù)庫的描述、設置分配的數(shù)據(jù)庫的大小、回調函數(shù)。
如果我們要創(chuàng)建一個本地數(shù)據(jù)庫,可以執(zhí)行如下代碼:
var myWebDatabase = openDatabase(“user”, ”1.0”, “user info”, 1024*1024, function(){});
這樣就創(chuàng)建了一個用戶信息表。之后可以對創(chuàng)建的本地數(shù)據(jù)庫是否成功進行驗證:
SQL Code
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方法執(zhí)行sql語句
使用executeSql方法,我們可以直接執(zhí)行正常的sql語句,如下:
context.executeSql(‘INSERT INTO testTable(id,name) VALUES (1,”Martin”)’);
當然,這里只體現(xiàn)了executeSql的功能,并沒有確切說明executeSql方法怎么用,用在哪里。要想使用該方法就必須介紹transaction。
3、利用transaction處理事務
該方法用來處理事務,可以傳遞三個參數(shù):包含事務內容的一個方法、執(zhí)行成功的回調函數(shù)、執(zhí)行失敗的回調函數(shù)(后兩者可以省略)。
結合transaction和executeSql,我們就可在我們之前創(chuàng)建的數(shù)據(jù)庫中添加創(chuàng)建數(shù)據(jù)表并添加數(shù)據(jù)了,代碼如下:
JavaScript Code
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語句的含義不多解釋,但從這里已經(jīng)可以很明白的看出如何在本地數(shù)據(jù)庫中,想在一般數(shù)據(jù)庫中一樣創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)表并添加數(shù)據(jù)了。
以上就是本文的全部內容,希望對大家的學習有所幫助。