一、数据库实例IDBDatabase的属性
- name:数据库名,string
- objectStoreNames:数据库中的对象仓库名 ,集合,DOMStringList
- version:数据库版本,整数
- onabort
- onclose
- onerror
- onversionchange
二、打开/创建数据库
IDBOpenDBRequest dBOpenDBRequest=indexedDBInstance.open(databaseName,version)
-
databaseName:数据库名,string;数据库不存在,就会新建数据库
-
version:数据库版本,整数,如果省略,默认为当前版本;新建数据库时,默认为1
-
返回值IDBOpenDBRequest
- readyState: 状态
- “done” - 完成
- result:数据库对象,IDBDatabase
- source: 对象仓库对象
- transaction: 事务对象
- onblocked: 堵塞的回调函数
- readyState: 状态
-
打开数据库失败的回调函数
dBOpenDBRequest.onerror=(event)=>{ }
-
打开数据库成功的回调函数
dBOpenDBRequest.onsuccess=(event)=>{ //数据库实例 //event.target 等效于 dBOpenDBRequest //const db=event.target.result 等效于 dBOpenDBRequest.result . . . . . . }
-
数据库升级的回调函数
- 指定的版本,大于数据库的实际版本,会执行该事件
- 数据库不存在,新建时,会执行该事件(因为这时版本从无到有),再执行onsuccess打开数据库成功的回调函数
- 除了数据之外的创建、删除操作必须在这个回调函数中执行,比如:对象仓库的创建/删除、索引的创建、删除
dBOpenDBRequest.onupgradeneeded=(event)=>{
//数据库实例
//event.target 等效于 dBOpenDBRequest
//const db=event.target.result 等效于 const db=dBOpenDBRequest.result
}
三、关闭数据库
void db.close()
三、删除数据库
IDBOpenDBRequest indexedDBInstance.deleteDatabase(string name)
- 返回值IDBOpenDBRequest
- result: undefined
- readyState: “done”
- source: null
- transaction: 事务对象
- onerror: 失败的回调函数
- onsuccess: 成功的回调函数
- onupgradeneeded: 的回调函数
- onblocked: 堵塞的回调函数
- error: null