index DB使用方法,学生成绩信息存储本地
IndexedDB是一种在客户端存储大量数据的方法,它可以让网页应用快速存储大量数据。
以下是使用IndexedDB的基本步骤:
- 打开数据库
- 创建/打开对象存储空间(即表)
- 创建事务处理数据
- 创建索引,以便可以更快地检索数据
以下是一个使用IndexedDB存储学生成绩信息的简单示例:
// 打开或创建数据库
var openRequest = indexedDB.open("StudentDatabase", 1);
openRequest.onupgradeneeded = function(e) {
var db = e.target.result;
var store = db.createObjectStore("students", { keyPath: "id" });
store.createIndex("nameIndex", "name", { unique: false });
store.createIndex("gradeIndex", "grade", { unique: false });
}
openRequest.onsuccess = function(e) {
var db = e.target.result;
var transaction = db.transaction(["students"], "readwrite");
var store = transaction.objectStore("students");
// 添加学生信息
var addRequest = store.add({ id: 1, name: "Alice", grade: 90 });
addRequest.onsuccess = function(event) {
console.log("Student added!");
};
// 读取学生信息
var getRequest = store.get(1);
getRequest.onsuccess = function(event) {
console.log("Student read: ", getRequest.result);
};
// 更新学生信息
var updateRequest = store.put({ id: 1, name: "Alice", grade: 85 });
updateRequest.onsuccess = function(event) {
console.log("Student updated!");
};
// 删除学生信息
var deleteRequest = store.delete(1);
deleteRequest.onsuccess = function(event) {
console.log("Student deleted!");
};
}
openRequest.onerror = function(e) {
console.error("Database error: ", e.target.errorCode);
};
在这个示例中,我们首先尝试打开名为"StudentDatabase"的数据库。如果数据库不存在,它将创建一个并在其中创建一个名为"students"的对象存储空间。我们还为"name"和"grade"属性创建了索引。
在成功打开数据库后,我们创建一个事务来读写数据库,并获取"students"对象存储空间。我们可以添加、读取、更新和删除学生信息。
这只是IndexedDB功能的一个简单介绍,实际上IndexedDB提供了更多复杂的功能,例如游标操作、索引范围查询等。
评论已关闭