接着上一篇,這節介紹Html5 本地存儲中的一個很重要的概念——Web Sql Database ,正因為本人覺得這個很重要,所有獨立出來重點介紹。即時你完全沒聽說過這個概念,望文生義也應該知道它大概是個什么東西。
對於簡單的數據,使用sessionStorage和localStorage能夠很好地完成存取,但是對於處理復雜的關系型數據,它就力不從心了。這也是 HTML 5 的“Web SQL Database”API 接口的應用所在。
下面我將一一將介紹怎樣 創建打開數據庫,創建表,添加數據,更新數據,刪除數據,刪除表 。
先介紹三個核心方法
1、openDatabase:這個方法使用現有數據庫或創建新數據庫創建數據庫對象。
2、transaction:這個方法允許我們根據情況控制事務提交或回滾。
3、executeSql:這個方法用於執行真實的SQL查詢。
第一步:打開連接並創建數據庫
if (!dataBase) {
alert("數據庫創建失敗!");
} else {
alert("數據庫創建成功!");
}
解釋一下openDatabase方法打開一個已經存在的數據庫,如果數據庫不存在,它還可以創建數據庫。幾個參數意義分別是:
第二步:創建數據表
dataBase.transaction( function(tx) {
tx.executeSql(
"create table if not exists stu (id REAL UNIQUE, name TEXT)",
[],
function(tx,result){ alert('創建stu表成功'); },
function(tx, error){ alert('創建stu表失敗:' + error.message);
});
});
}
第三步:執行增刪改查
1)添加數據:
dataBase.transaction( function (tx) {
tx.executeSql(
"insert into stu (id, name) values(?, ?)",
[id, '徐明祥'],
function () { alert('添加數據成功'); },
function (tx, error) { alert('添加數據失敗: ' + error.message);
} );
});
2)查詢數據
dataBase.transaction( function (tx) {
tx.executeSql(
"select * from stu", [],
function (tx, result) { // 執行成功的回調函數
// 在這里對result 做你想要做的事情吧...........
},
function (tx, error) {
alert('查詢失敗: ' + error.message);
} );
});
}
result:查詢出來的數據集。其數據類型為 SQLResultSet ,就如同C#中的DataTable。
dataBase.transaction( function (tx) {
tx.executeSql(
"update stu set name = ? where id= ?",
[name, id],
function (tx, result) {
},
function (tx, error) {
alert('更新失敗: ' + error.message);
});
});
}
4) 刪除數據
dataBase.transaction( function (tx) {
tx.executeSql(
"delete from stu where id= ?",
[id],
function (tx, result) {
},
function (tx, error) {
alert('刪除失敗: ' + error.message);
});
});
}
5)刪除數據表
dataBase.transaction( function (tx) {
tx.executeSql('drop table stu');
});
}
我這里附上一個 web sql database 增刪改查的 demo ,猛點下載。
了解更多:http://www.w3.org/TR/webdatabase/
原文地址: http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416418.html
出處: http://www.cnblogs.com/xumingxiang
版權:本文版權歸作者和博客園共有
轉載:歡迎轉載,為了保存作者的創作熱情,請按要求【轉載】,謝謝
要求:未經作者同意,必須保留此段聲明;必須在文章中給出原文連接;否則必究法律責任