`
lfkabc
  • 浏览: 6687 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

dataBase.setTransactionSuccessful();的作用是什么

阅读更多

在android的使用数据库时,qlite数据库默认情况下是“一个连接存在与一个事物”。有时候会操作大批量的数据,比如批量的写操作,如何让批量的操作在一个事物中完成呢?

 

在网上查了下,可以使用此方式:

dataBase.beginTransaction();        //手动设置开始事务

//数据操作

dataBase.setTransactionSuccessful();        

dataBase.endTransaction();        //处理完成 

 

但是不明白 dataBase.setTransactionSuccessful(); 的作用是什么?如果不调用此函数会有什么不同?

 

求助!

分享到:
评论
3 楼 xiongjie_67 2016-06-01  
    /**
     * Marks the current transaction as successful. Do not do any more database work between
     * calling this and calling endTransaction. Do as little non-database work as possible in that
     * situation too. If any errors are encountered between this and endTransaction the transaction
     * will still be committed.
     *
     * @throws IllegalStateException if the current thread is not in a transaction or the
     * transaction is already marked as successful.
     */
    public void setTransactionSuccessful() {
        acquireReference();
        try {
            getThreadSession().setTransactionSuccessful();
        } finally {
            releaseReference();
        }
    }
2 楼 松果HH 2014-01-04  
设置事务处理成功,不设置会自动回滚不提交
1 楼 wang271858003 2011-10-21  

相关推荐

    Android SQLite Database Tutorial_sql_android_

    database.setTransactionSuccessful(); } finally { database.endTransaction(); } ``` 通过以上介绍,你应该对在Android中使用SQLite数据库有了基本的理解。实际开发中,还需要考虑错误处理、线程安全等问题。...

    android之SQLite数据库开发详解

    database.setTransactionSuccessful(); // 提交事务 } finally { database.endTransaction(); // 结束事务 } ``` 此外,Android 还提供了 SQLiteAssetHelper 类,方便你将预建的数据库作为应用的资产文件包含进来...

    连接SQLite数据库源码.zip

    database.setTransactionSuccessful(); } finally { database.endTransaction(); } ``` 在事务块内,如果所有操作成功,调用`setTransactionSuccessful()`,然后`endTransaction()`提交事务;如果有错误,事务...

    sqlite 很多不的demo

    database.setTransactionSuccessful(); } finally { database.endTransaction(); } ``` 总之,本资源中的"SQLiteProject"应该包含了一系列关于Android SQLite使用的基础到进阶的示例,涵盖了数据库的创建、表的...

    SQLiteHelper

    database.setTransactionSuccessful(); } finally { database.endTransaction(); } ``` 7. **索引**:为了提高查询效率,可以为经常用于查询的字段创建索引。例如: ```sql CREATE INDEX idx_name ON ...

    Android应用sqlite实例(可直接运行)

    database.setTransactionSuccessful(); } catch (Exception e) { // 处理异常 } finally { database.endTransaction(); } ``` 8. **适配器与视图**:在Android UI中展示SQLite数据通常需要使用`CursorAdapter`或...

    ORMLite HelloWorld

    使用`database.beginTransaction()`开始事务,`database.endTransaction()`结束事务,`database.setTransactionSuccessful()`标记事务成功。 7. **生命周期管理**:在Android中,你需要关注ORMLite的生命周期管理,...

    android数据库开发实例

    database.setTransactionSuccessful(); } finally { database.endTransaction(); } ``` 10. **游标管理** `Cursor`对象用于遍历查询结果。使用完后必须调用`close()`方法释放资源。在Android中,通常使用`...

    Android SQLite

    super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // 创建表的SQL语句 db.execSQL("CREATE TABLE MyTable (id INTEGER PRIMARY KEY, name ...

    Android Studio中用GreenDAO

    session.setTransactionSuccessful(); } finally { session.endTransaction(); } ``` 以上就是在Android Studio中使用GreenDAO的基本步骤和核心概念。GreenDAO的高效性能、简洁API以及与Android的紧密集成,使得...

    Android Database SQLite 多表操作源码

    总之,这个"Android Database SQLite 多表操作源码"示例将涵盖上述各种操作,为开发者提供一个实战平台,以加深对SQLite在Android环境中多表操作的理解。通过分析和运行这个源码,你可以学习如何在Android Studio中...

    Android多媒体开发07-数据存储.ppt

    db.setTransactionSuccessful(); db.endTransaction(); ``` 在实际开发中,通常会封装一个SQLiteOpenHelper类,用于管理数据库的版本控制和升级,同时提供创建表、升级表等操作。 综上所述,Android的...

    android连接SQLite数据库源码.zip

    db.setTransactionSuccessful(); } finally { db.endTransaction(); } ``` 此外,SQLite还支持创建索引、视图、触发器等复杂功能,可以根据实际需求进行利用。 通过分析这个“android连接SQLite数据库源码.zip”...

    android的数据库操作

    private static final String DATABASE_NAME = "my_database.db"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, ...

    Android——使用SQLite数据库访问

    通过`beginTransaction()`开始事务,`setTransactionSuccessful()`标记事务成功,最后`endTransaction()`结束事务。如果发生异常,可以调用`rollback()`回滚事务。 总的来说,SQLite在Android中提供了高效、可靠的...

    Android GreenDao(官方)

    GreenDao支持事务操作,可以通过`Session.beginTransaction()`开始一个事务,`Session.setTransactionSuccessful()`标记事务成功,最后`Session.endTransaction()`结束事务。这样可以确保一系列操作要么全部成功,...

    android 关系型数据库 SQLiteDatabase的 增 删 改 查

    db.setTransactionSuccessful(); } catch (Exception e) { e.printStackTrace(); } finally { db.endTransaction(); } ``` **七、索引优化** 为了提高查询性能,可以为经常用于搜索的列创建索引。创建索引的SQL...

    Android 连接SQLite数据库源码.zip

    private static final String DATABASE_NAME = "database_name.db"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate...

    使用Sqlcipher对sqlite数据库进行加解密

    db.setTransactionSuccessful(); } finally { db.endTransaction(); } ``` 读取数据同样简单: ```java Cursor cursor = db.query("users", new String[]{"name", "email"}, null, null, null, null, null); ...

    android greendao 数据库框架jar包

    4. 配置数据库:创建一个继承自`org.greenrobot.greendao.database.DatabaseOpenHelper`的类,用于初始化数据库版本和创建表。 三、主要功能 1. 插入数据:使用DAO类提供的`insert()`或`insertOrReplace()`方法...

Global site tag (gtag.js) - Google Analytics