`

Android 数据库事务处理(转)

 
阅读更多
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事务处理应用:很多时候我们需要批量的向Sqlite中插入大量数据时,单独的使用添加方法导致应用响应缓慢, 因为sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。如初始8000条记录也就是要8000次读写磁盘操作。同时也是为了保证数据的一致性,避免出现数据缺失等情况。

SQLiteDatabase db = dbOpenHelper.getWritableDatabase();

//开启事务

db.beginTransaction();

try{

            //批量处理操作

            //do something

           db.execSQL("SQL语句", new Object[]{});

           db.execSQL("SQL语句", new Object[]{});

            //设置事务标志为成功,当结束事务时就会提交事务

            db.setTransactionSuccessful();

}

catch(Exception e){



}



finally{

           //结束事务

          db.endTransaction();

}
分享到:
评论

相关推荐

    Android数据库中事务操作方法之银行转账示例

    Android数据库事务操作的基本概念 在Android数据库中,事务操作是通过beginTransaction()和endTransaction()方法来实现的。其中,beginTransaction()方法用于开启一个事务,endTransaction()方法用于结束一个事务。...

    Android数据库示例源码

    这个“Android数据库示例源码”很可能是为了展示如何在Android平台上使用SQLite数据库进行数据操作。SQLite是一种轻量级、开源的SQL数据库,它嵌入到Android系统中,为每个应用程序提供独立的数据库。 首先,让我们...

    Android开发中的数据库事务用法分析

    在Android应用开发中,...通过理解并正确使用Android数据库事务,开发者可以构建更稳定、更高效的数据库驱动的应用。同时,结合其他数据库操作技巧,如查询优化、索引创建等,可以进一步提升应用的性能和用户体验。

    模拟银行转账功能android数据库例子

    在这个“模拟银行转账功能android数据库例子”中,我们将探讨如何利用SQLite数据库来实现这一功能。 首先,我们需要创建一个SQLite数据库,这可以通过创建一个SQLiteOpenHelper的子类来完成。这个类包含两个关键...

    Android数据库完美框架和示例

    在实际项目中,还可以考虑添加事务处理、异步操作等功能,以提高性能和用户体验。在`DemoDateBase`压缩包中,应该包含了这个框架的实现代码,你可以下载并参考其中的细节,进一步学习和实践Android数据库操作。

    android数据库开发经典

    ### Android数据库开发经典知识点 #### 一、SQLite简介与特性 SQLite是一款轻量级的关系型数据库,被广泛应用于各种嵌入式系统中,包括Android操作系统。由于其无需服务器进程、安装简便等特点,使得SQLite成为...

    android 数据库升级方法

    综上所述,Android数据库升级是一个涉及版本管理、表结构修改和数据迁移的过程。通过合理地重写onUpgrade方法,我们可以确保应用程序在更新时能够顺利地适应新的数据库结构。同时,遵循最佳实践,可以提高升级的稳定...

    android数据库增删改查工具

    8. **事务处理**:为了保证数据的一致性和完整性,可能采用事务进行一系列操作。比如,批量插入或更新成员信息时,如果发生错误,所有操作都可以回滚。 9. **成员管理**:具体到标签提到的“成员管理”,可能涉及到...

    Android GreenDao 数据库框架的使用

    `DaoSession`是GreenDao的核心,它管理所有的Dao对象并负责事务处理。通过`AndroidDaoMaster.DevOpenHelper`创建数据库,然后使用`getWriteableDatabase()`获取可写数据库,再调用`DaoMaster.createSession()`生成`...

    Android数据库框架GreenDAO的基本操作

    在Android开发中,数据库管理是不可或缺的一部分,而GreenDAO作为一款高效的对象关系映射(ORM)框架,使得在Android上处理SQLite数据库变得异常简便。本文将深入探讨GreenDAO的基本操作,帮助开发者快速理解和掌握...

    android_blog.zip_Android 数据库_Android数据库_android_mysql客户端_服务器 数据库

    本项目"android_blog.zip"显然是一个关于Android数据库实现的示例,其中包含了服务器端和客户端的完整代码,且使用了MySQL作为后端数据库。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它在服务器端...

    android 数据库orm框架依赖库

    本篇文章将详细探讨Android数据库ORM框架,特别是关于"ormlite"库的使用。 首先,ORMlite是一个轻量级的Java ORM库,它同样适用于Android平台。这个框架允许开发者通过简单的Java对象(POJOs)来操作数据库,而无需...

    Android数据库操作Demo

    在Android应用开发中,数据库是存储和管理应用程序...在实际项目中,可能还需要考虑更复杂的查询、事务处理、多线程访问等高级特性。记住,始终确保正确关闭`Cursor`和`SQLiteDatabase`对象以释放资源,避免内存泄漏。

    android数据库系统源码

    本文将深入解析"android数据库系统源码",并以其基础的图书管理系统为例,探讨如何通过源码理解ContentProvider的基本实现。 首先,Android中的SQLite数据库是一个轻量级、事务型的关系型数据库,它被集成到Android...

    android数据库框架

    SQLite支持标准的关系型数据库功能,如SQL语法、事务处理和预编译语句等。然而,直接操作SQLite需要编写SQL语句,这在开发过程中会增加复杂性。 为了解决这个问题,Android开发者常使用ORM框架,如ORMLite、...

    android数据库

    7. 数据库事务:SQLite支持事务处理,通过BEGIN、COMMIT、ROLLBACK语句可以确保数据的一致性和完整性。在出现错误时,可以通过回滚(ROLLBACK)事务来撤销所有更改。 8. 索引优化:为了加快查询速度,可以为表中的...

    Android数据库Demo-GreenDaoTest.zip

    这个"Android数据库Demo-GreenDaoTest.zip"是一个演示如何使用GreenDao的实例,通过分析这个Demo,我们可以深入理解GreenDao的用法和优势。 首先,GreenDao的核心思想是将Java对象映射到SQLite数据库中的表格,这样...

    android 数据库操作封装类 继承可用

    6. **事务处理**: 支持批量操作,例如`startTransaction()`, `setTransactionSuccessful()`, `endTransaction()`,这些方法可以确保一组操作要么全部成功,要么全部回滚,保证数据的一致性。 7. **数据封装与反序列...

    Android中SQLite数据库查看工具

    SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其他数据库,SQLite 引擎不是一个...

    android 数据库增删查改 显示

    在Android应用开发中,数据库是存储和管理应用程序数据的关键组件。SQLite是Android系统默认支持的关系型数据库,广泛用于实现数据的持久化。本教程将详细讲解如何在Android中使用SQLite进行数据库的创建、数据的增...

Global site tag (gtag.js) - Google Analytics