對于復雜的數據庫,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語句的含義不多解釋,但從這里已經可以很明白的看出如何在本地數據庫中,想在一般數據庫中一樣創建數據庫數據表并添加數據了。
- 前言
- Jquery Mobile入門筆記
- 豆瓣API使用介紹及通過ajax跨域獲取url的json數據的方法
- jQuery插件實戰:slider.js/jquery.validate/jRating介紹
- HTML5能為我們帶來什么
- js字符串主要操作方法
- jquery實現全文檢索與鼠標滑過工具欄特效
- HTML5移動開發常用——XML基本知識介紹
- HTML5移動開發實戰必備知識——本地存儲(1)
- HTML5本地數據庫詳解
- 前端素材解析—利用linear制作復雜的邊框效果
- HTML5開發移動web應用—JQuery Mobile(3)-列表
- Angular.js回顧+學習筆記(1)【ng-app和ng-model】
- HTML5開發移動web應用—JQuery Mobile(4)-事件
- CSS定位中的必須深究的常用技法
- Angular.js中的指令——易懂全解析
- 實踐中學習AngularJS中的表單
- 高效利用Angular中內置服務
- 利用Angular.js從PHP讀取后臺數據