Android SQLite事务操作
来源:互联网 发布:有限元软件在线培训 编辑:程序博客网 时间:2024/05/16 05:11
Android SQLite事务操作
1. 新建DBOpenHelper继承自SQLiteOpenHelper类:
public class DBOpenHelper extends SQLiteOpenHelper { private final static String DATABASENAME = "itcast.db"; private final static int DATABASEVERSION = 2; public DBOpenHelper(Context context) { super(context, DATABASENAME, null, DATABASEVERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.i("old", oldVersion +""); Log.i("new", newVersion + ""); db.execSQL("ALTER TABLE person ADD amount integer"); }}
2.新建对应数据库中表的字段的JavaBean数据类:
public class Person { private Integer id; private String name; private Integer amount; public Person() { } public Person(Integer id, String name, Integer amount) { super(); this.id = id; this.name = name; this.amount = amount; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAmount() { return amount; } public void setAmount(Integer amount) { this.amount = amount; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", amount=" + amount + "]"; }}
3. 新建事务操作方法:
public void payment() { SQLiteDatabase db = dbHelper.getWritableDatabase(); db.beginTransaction(); try { db.execSQL("update person set amount=amount-10 where personid=?", new Object[]{1}); db.execSQL("update person set amount=amount+10 where personid=?", new Object[]{2}); db.setTransactionSuccessful(); } finally { db.endTransaction(); } }
4.新建单元测试类对业务类中的方法进行测试:
public void testpayment() throws Exception { DBService dbService = new DBService(this.getContext()); dbService.payment(); }
0 0
- Android SQLite事务操作
- Android中的sqlite事务操作
- Android数据存储SQLite - 事务操作
- Android中SQLite事务的操作
- sqlite transaction事务操作
- SQLite的事务操作
- SQLite事务操作
- Android中的数据库操作及内置SQLite使用和事务
- Android学习_18_使用事务操作SQLite数据库
- Android SQLite数据库应用之Prepared Statement、事务操作
- android sqlite 事务
- android sqlite 事务
- Android 关于SQLite事务
- Android--SQLite事务
- android 之sqlite事务
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- LevelDb日知录之一:初识LevelDb
- Head First 装饰模式
- Hibernate HQL
- Android自定义属性时TypedArray的使用方法
- 并查集 Union-Find-Set
- Android SQLite事务操作
- 在数据库中使用asm
- Android系统中如何监听来电和去电
- LevelDb日知录之二整体架构
- AOP技术应用和研究
- HashMap,LinkedHashMap,TreeMap的区别
- html中submit和button的区别(总结)
- Redis核心结构字典
- sprintf()函数的用法