转自:www.eoeandroid.com/thread-201327-1-1.html 1.在数据库表person添加字段amount
2.在Person类中添加相应的amount
3.在PersonService添加payment()方法
- 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();
- }
复制代码 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|