var dbName = "pdcaIndexDB" + pdcaID,
version = 1,
storeName = "pdcaStore" + pdcaID,
objectStore,setIntervalID,
getDataReq;
var indexedDB = window.indexedDB;
var db;
function createDB() {
return new Promise((resolve, reject) => {
const request = indexedDB.open(dbName, version);
request.onsuccess = function (event) {
db = event.target.result;
db.onversionchange = function (event) {
event.target.close();
}
resolve(db)
console.log("数据库打开成功", event.target.result);
};
request.onerror = function (event) {
reject("数据库打开报错")
console.log("数据库打开报错");
};
request.onupgradeneeded = function (event) {
console.log("onupgradeneeded", event.target.result);
db = event.target.result;
if (!db.objectStoreNames.contains(storeName)) {
objectStore = db.createObjectStore(storeName, {
keyPath: "id",
});
}
};
})
}
function addData(db, storeName, data) {
let request = db
.transaction([storeName], "readwrite")
.objectStore(storeName)
.add(data);
request.onsuccess = function (event) {
console.log("数据写入成功");
};
request.onerror = function (event) {
console.log("数据写入失败", event);
throw new Error(event.target.error);
};
}
function getPdcaData(db, storeName, key) {
return new Promise((resolve, reject) => {
let transaction = db.transaction([storeName]);
let objectStore = transaction.objectStore(storeName);
let request = objectStore.get(key);
request.onsuccess = function (event) {
console.log("主键查询结果: ", request.result);
queryData = request.result;
resolve(request.result);
};
request.onerror = function (event) {
console.log("事务失败");
};
})
}
function updateDB(db, storeName, data) {
let request = db
.transaction([storeName], "readwrite")
.objectStore(storeName)
.put(data);
request.onsuccess = function () {
console.log("数据更新成功",data);
};
request.onerror = function () {
console.log("数据更新失败");
};
}
function deleteDB(db, storeName, id) {
let request = db
.transaction([storeName], "readwrite")
.objectStore(storeName)
.delete(id);
request.onsuccess = function () {
console.log("数据删除成功");
};
request.onerror = function () {
console.log("数据删除失败");
};
}
function deleteStoreDB(dbName) {
try {
let request = indexedDB.deleteDatabase(dbName);
request.onerror = function () {
console.log('删除[' + dbName + ']数据库失败!!!!');
}
request.onsuccess = function () {
console.log('删除[' + dbName + ']数据库成功!!!!');
}
console.log('request', request);
} catch (e) {
console.log('删除[' + dbName + ']数据库出现错误,' + e.getMessage);
}
}
const cursor = event.target.result;
console.log('cursor', cursor);
if (cursor && (cursor.key == onePdcaContnet.id))