Android在SQLite中使用事务
2015-04-27 11:36
363 查看
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果为成功则提交事务,否则回滚事务。当应用需要提交事务,必须在程序执行到endTransaction()方法之前使用setTransactionSuccessful() 方法设置事务的标志为成功,如果不调用setTransactionSuccessful() 方法,默认会回滚事务。
[java] view
plaincopy
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
db.beginTransaction();//开启事务
try{
db.execSQL("update person set amount=amount-10 where personid=1");
db.execSQL("update person set amount=amount+10 where personid=2");
db.setTransactionSuccessful();//设置事务的标志为True
}finally{
db.endTransaction();//结束事务,有两种情况:commit,rollback,
//事务的提交或回滚是由事务的标志决定的,如果事务的标志为True,事务就会提交,否侧回滚,默认情况下事务的标志为False
}
注意,一定要调用db.setTransactionSuccessful().还一定不要忘记在finally{}语句块里结束事务。
[java] view
plaincopy
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
db.beginTransaction();//开启事务
try{
db.execSQL("update person set amount=amount-10 where personid=1");
db.execSQL("update person set amount=amount+10 where personid=2");
db.setTransactionSuccessful();//设置事务的标志为True
}finally{
db.endTransaction();//结束事务,有两种情况:commit,rollback,
//事务的提交或回滚是由事务的标志决定的,如果事务的标志为True,事务就会提交,否侧回滚,默认情况下事务的标志为False
}
注意,一定要调用db.setTransactionSuccessful().还一定不要忘记在finally{}语句块里结束事务。
相关文章推荐
- android(18)_数据存储与访问_SQLite数据库_使用SQLiteDatabase操作SQLite数据库及事务
- Android开发入门之在SQLite中使用事务
- Android在SQLite中使用事务
- Android中的数据库操作及内置SQLite使用和事务
- Android多线程操作sqlite(Sqlite解决database locked问题)(2)使用事务处理的效果
- 一看就会Android之SQLite中事务的使用
- Android中sqlite基本使用2,(使用事务实现数据完成或回滚)
- Android在SQLite中使用事务
- Android中SQLite使用事务
- Android SQLite数据库(事务)的使用,多线程CRUD并发操作(可用于实际开发)
- Android数据库SQLite中使用事务
- Android之SQLite的使用
- Android-SQLite的使用方法
- android SQLiteOpenHelper和ContentProvider的结合使用
- android 使用SimpleCursorAdapter将SQLite数据显示到ListView
- android SQlite结合SimpleCursorAdapter的简单使用
- Android:使用SQLite存取数据
- Android开发中的SQLite事务处理,即beginTransaction()方法...
- Android笔记——了解SDK,数据库sqlite的使用
- Android开发中使用sqlite实现新闻收藏和取消收藏的功能