实例教程七:在SQLite中使用事务
发布时间:2020-12-13 00:06:40 所属栏目:百科 来源:网络整理
导读:系统文件管理器 http://www.eoeandroid.com/thread-128567-1-1.html android 实现区域截图 http://www.eoeandroid.com/thread-149439-1-1.html 影院选坐 写着玩的 http://www.eoeandroid.com/thread-151980-1-1.html 继上章 1.在数据库表person添加字段amoun
系统文件管理器 android 实现区域截图 影院选坐 写着玩的 继上章 public void payment(){ 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{ //为何要加try...catch //因为添加了db.setTransactionSuccessful(),若execSQL中出现问题 //则不会执行db.endTransaction() db.endTransaction(); //结束事务,有2种情况:commit,rollback } //事务的提交或回滚是由事务的标志决定的 //如果事务的标志为True,事务就会提交 //否则事务就会回滚,默认情况下事务的标志为false } 4.初始化amount值,便于调用 public void testUpdateAmount() throws Exception{ PersonService service = new PersonService(this.getContext()); Person person1 = service.find(1); Person person2 = service.find(2); person1.setAmount(100); person2.setAmount(200); service.update(person1); service.update(person2); } 5.在单元测试类PersonServiceTest中添加测试方法testPayment() public void testPayment() throws Exception{ PersonService service = new PersonService(this.getContext()); service.payment(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |