web端的存儲方式分為:
1.會話存儲 ?sessionStorage 2.本地存儲 ?locationStorage ?相當(dāng)于鍵值對的表不可以嵌套使用只能存儲少量的數(shù)據(jù)
?3.數(shù)據(jù)庫 web SQL dataBase
詳細(xì)介紹
1.會話存儲相當(dāng)于鍵值對,主要用于頁面間傳值 簡單數(shù)據(jù)的存儲
賦值?
sessionStorage.setItem('name','xiaoMing');?
取值
var value = sessionStorage.getItem('name');
2.本地存儲,主要用于頁面間傳值 簡單數(shù)據(jù)的存儲
//賦值
localStorage.setItem('age',16);
取值
document.write('age== '+localStorage.getItem('age'));
本地存儲和會話存儲存儲的位置是不一樣的
3.web SQL 數(shù)據(jù)庫
SQL Datebase ?有三個核心方法
openDateBase:這個方法是建立數(shù)據(jù)庫
transaction ?允許我們根據(jù)情況控制事務(wù) 提交或者回滾
executeSql ?用于執(zhí)行SQL語句
步驟:
1.打開數(shù)據(jù)庫
var db=openDatabase('Test','1.0','測試',1000,function(){
alert('如果該數(shù)據(jù)是新創(chuàng)建的會回調(diào)這里') ;
if(db){
alert('打開數(shù)據(jù)庫成功');
}else{
alert('打開數(shù)據(jù)庫失敗');
}
});
2.創(chuàng)建表
var sql='create table if not exixts STUDENT (NAME varchar(16) not null,AGE interger,NOTE varchar(64))';
//通過transaction()執(zhí)行sql可以保證如果sql執(zhí)行出錯,可以實(shí)現(xiàn)回滾算墨,回到原來的狀態(tài)
db.transaction(function(context){
//第一個callBack,表示希望執(zhí)行的操作
context.executeSql(sql);
},
function(error){
alert('sql語句執(zhí)行出錯'+ error.message);
},function(){
alert('sql語句執(zhí)行成功回調(diào)函數(shù)');
});
3.插入記錄 修改 刪除 屬于更新數(shù)據(jù)碰辅,不同的就是sql語句的不同
db.transaction(function(context){
context.executeSql('insert into STUDENT (NAME,AGE) values("Ming",19)');
},
function(error){
alert('插入記錄失敗'+ error.message);
},
function(){
alert('插入記錄成功');
}
);
4.查詢記錄
db.transaction(function(context){//執(zhí)行成功的函數(shù)中有兩個參數(shù) context result
context.executeSql('select * from STUDENT',
[],
function(context,result){
//result中有一個關(guān)鍵的屬性 rows
for(vari=0;i< result.rows.length;i++){
document.write('查詢結(jié)果'+i+ result.rows[i]['NAME']);
}
},
function(error){
alert('查詢失敗'+ error.message);
});
},
function(error){
alert('查詢失敗');
},
function(){
alert('查詢成功');
});