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