通過數(shù)據(jù)庫對象獲得事務(wù)對象(db.tansaction())
增刪改查
? 1.獲取事務(wù)對象
? 指定權(quán)限
? 2.獲取你要操作的OS(objecctStore)
? 3.增刪改查
? 添加數(shù)據(jù)add()
? ? ? ? ? ? let ts = DB.transaction(["hero"],"readwrite");
? ? ? ? let os = ts.objectStore("hero");
? ? ? ? //會返回一個IDBRequest
? ? ? ? let request = os.add(data);
? ? ? ? request.onsuccess = ()=>{
? ? ? ? ? ? console.log("添加數(shù)據(jù)成功")
? ? ? ? ? ? loadAll();
? ? ? ? }
? ? ? ? request.onerror = err=>{console.warn(err)}
? 查詢數(shù)據(jù)
? ? getAll 查詢所有數(shù)據(jù)(ie不支持)
? ? ? ? ? ? let os = DB.transaction(["hero"],"readwrite").objectStore("hero");
? ? ? ? let request = os.getAll();
? ? ? ? request.onsuccess = function (){
? ? ? ? ? ? console.log(this.result);
? ? ? ? ? ? let ul = ele(".hero_container");
? ? ? ? ? ? let liStr = "";
? ? ? ? ? ? this.result.forEach(item=>{
? ? ? ? ? ? ? ? let li = `<li>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <p>名字:<span>${item.name}</span></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <p>血量:<span>${item.blood}</span></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <p>攻擊:<span>${item.att}</span></p>
? ? ? ? ? ? ? <P>`;
? ? ? ? ? ? ? ? liStr+=li;
? ? ? ? ? ? });
? ? ? ? ? ? ul.innerHTML = liStr;
? ? ? ? }
? ? ? ? request.onerror = err=>{console.warn(err)}
? ? get查詢指定數(shù)據(jù)
? ? ? ? ? ? let os = DB.transaction("hero").objectStore("hero");
? ? ? ? //指定要查詢的索引及對應(yīng)的內(nèi)容
? ? ? ? let request = os.index("name").get(searchContent);
? ? ? ? request.onsuccess = function () {
? ? ? ? ? ? console.log(this.result);
? ? ? ? }
? ? ? ? request.onerror = error=>{console.warn(error)}
? 刪除數(shù)據(jù)
? ? delete
? ? ? ? ? ? ? ? ? ? let content = this.children[0].children[0].textContent;
? ? ? ? ? ? ? ? let os = DB.transaction("hero","readwrite").objectStore("hero");
? ? ? ? ? ? ? ? let request = os.delete(content);
? ? ? ? ? ? ? ? request.onsuccess = ()=>{
? ? ? ? ? ? ? ? ? ? console.log("刪除成功")
? ? ? ? ? ? ? ? ? ? loadAll()
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? request.onerror = err=>{console.warn(err)}
? ? clear
? ? ? ? ? ? let os = DB.transaction("hero","readwrite").objectStore("hero");
? ? ? ? let request = os.clear();
os.index("name").get(searchContent);
? ? ? ? request.onsuccess = function () {
? ? ? ? ? ? console.log(this.result);
? ? ? ? }
? ? ? ? request.onerror = error=>{console.warn(error)}
? 刪除數(shù)據(jù)
? ? delete
? ? ? ? ? ? ? ? ? ? let content = this.children[0].children[0].textContent;
? ? ? ? ? ? ? ? let os = DB.transaction("hero","readwrite").objectStore("hero");
? ? ? ? ? ? ? ? let request = os.delete(content);
? ? ? ? ? ? ? ? request.onsuccess = ()=>{
? ? ? ? ? ? ? ? ? ? console.log("刪除成功")
? ? ? ? ? ? ? ? ? ? loadAll()
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? request.onerror = err=>{console.warn(err)}
? ? clear
? ? ? ? ? ? let os = DB.transaction("hero","readwrite").objectStore("hero");
? ? ? ? let request = os.clear();
? ? ? ? request.onsuccess = ()=>{
? ? ? ? ? ? console.log("清除成功")
? ? ? ? ? ? loadAll()
? ? ? ? }
? ? ? ? request.onerror = err=>{console.log(err)}
? ? ?