
JavaScript 数据库,通常指浏览器端的 IndexedDB,它是一个支持事务的数据库系统。IndexedDB 的事务机制确保数据操作的原子性,即一组操作要么全部成功,要么全部失败,从而保证数据的一致性与完整性。
IndexedDB 事务的使用步骤如下:
-
打开数据库连接: 使用
indexedDB.open()方法打开数据库。 -
创建事务: 使用
db.transaction()方法创建一个事务对象,指定需要操作的对象存储 (object store) 和事务模式 (mode)。模式通常为readonly(只读) 或readwrite(读写)。 -
获取对象存储: 通过事务对象访问指定的对象存储,例如
transaction.objectStore('objectStoreName')。 -
执行数据库操作: 在对象存储上执行
add、put、get、delete等操作。 -
提交或回滚事务: 所有操作完成后,调用
transaction.commit()提交事务,使更改生效;如果发生错误,则调用transaction.abort()回滚事务,撤销所有更改。
以下是一个示例,演示如何在 IndexedDB 中使用事务添加和读取数据:
塑料卡板销售统计管理系统是一款对商品销售情况进行统一管理的系统。 程序特点1,简单,方便,网络操作,不受单台电脑文件保存限制2,纸质与数据库客户数据保存,查询变得更为方便3,免去久远的历史单据与数据查询烦恼4,方便的数据统计与自动核算功能5,丰富的销售数据录入与管理6, 销售清单(送货单)打印功能,支持条型码.7, 销售业绩提成统计功能8, 收款与未收款分开统计功能 后台地址:admin/logi
const request = indexedDB.open('myDB', 1);
request.onupgradeneeded = (event) => {
const db = event.target.result;
db.createObjectStore('myStore', { keyPath: 'id' });
};
request.onsuccess = (event) => {
const db = event.target.result;
const transaction = db.transaction(['myStore'], 'readwrite');
const store = transaction.objectStore('myStore');
// 添加数据
const newData = { id: 1, name: 'Example' };
const addRequest = store.add(newData);
addRequest.onsuccess = () => {
console.log('Data added successfully!');
// 读取数据
const getRequest = store.get(1);
getRequest.onsuccess = () => {
console.log('Retrieved data:', getRequest.result);
};
};
transaction.oncomplete = () => {
db.close();
};
transaction.onerror = (error) => {
console.error('Transaction error:', error);
};
};
request.onerror = (error) => {
console.error('Database error:', error);
};
此示例展示了如何在一个事务中添加数据,并在事务完成后读取数据。transaction.oncomplete 和 transaction.onerror 处理程序分别处理事务成功完成和发生错误的情况。 记住,错误处理对于健壮的 IndexedDB 应用至关重要。









