前言
上篇讲了简单的创建了一个数据库和两个表,这里就详细记录下查询;
这里先定义二个数组对象
data(){
return {
arr:[
{id:1,name:'杨姐',age:18,sex:0},
{id:2,name:'骏驰',age:33,sex:0},
{id:3,name:'king',age:45,sex:1},
{id:4,name:'浩杰',age:16,sex:0},
{id:5,name:'浩B',age:89,sex:1},
{id:6,name:'浩A',age:56,sex:0},
],
arr1:[
{id:1,height:160,weight:50},
{id:2,height:150,weight:45},
{id:3,height:160,weight:70},
{id:4,height:170,weight:70},
{id:5,height:180,weight:75},
{id:6,height:180,weight:60},
],
db:null, // 全局的indexedDB数据库实例。
}
},
上面的db 在初始化数据库的时候 赋值了 this.db=e.target.result;
表一 yyyyy 键值id 索引就是里面的3个字段
表二 two 键值id 索引就是里面的3个字段
添加数据 add(obj)
注:add接受的是单个对象,
addData(){
let {arr,db} = this;
// 创建一个事务。找到所需操作的表.
var request = db.transaction(['yyyyy'], 'readwrite').objectStore('yyyyy').add(
{id:7,name:'骏驰111',age:33,sex:0}
);
request.onsuccess = function (event) {
console.log('数据写入成功');
};
request.onerror = function (event) {
console.log('数据写入失败');
}
},
批量添加数据
addData(){
let {arr,db} = this;
// 创建一个事务
var request = db.transaction(['yyyyy'], 'readwrite').objectStore('yyyyy');
// 批量添加
for(let item of arr){
request.add(item)
}
},
修改数据 put(obj)
这个方法很有意思,如果数据库中他的键值存在了,那就是修改,反之就是新增,也有添加的效果
// 更新数据
updateData(){
let {db} = this;
// 创建一个事务
var request = db.transaction(['yyyyy'], 'readwrite').objectStore('yyyyy');
let mtObj=request.put({id:11,name:"啊大苏打撒旦",age:89,sex:1});
mtObj.onsuccess = function (event) {
console.log('数据更新成功');
};
mtObj.onerror = function (event) {
console.log('数据更新失败');
}
},
删除数据 delete(key)
delData(){
let {db} = this;
// 创建一个事务
var request = db.transaction(['yyyyy'], 'readwrite').objectStore('yyyyy');
let mtObj=request.delete(1);
mtObj.onsuccess = function (event) {
console.log('数据删除成功');
};
mtObj.onerror = function (event) {
console.log('数据删除失败');
}
},