android sqlite的SqliteDataBase.insert()方法,以及如何在事务管理中使用
来源:互联网 发布:java设计模式书籍 编辑:程序博客网 时间:2024/06/08 00:23
1.db.insert()方法,方法中已经写了try catch块,会捕捉SqliteException,因此如果直接用
db.beginTransaction();
try{
db.insert(...);
db.setTransactionSuccessful();
}finally{
db.endtransaction();
}
这样的代码去开启事务,会导致无论是否插入成功,代码一定会执行到db.setTransactionSuccessful();这一句。
正确的方法是:
由于insert()方法会返回long型数值,这个值是插入成功以后的id(虽然事务尚未提交,但是已经有id了);而如果插入失败,则会返回-1,因此判断返回值即可管理事务。
代码如下:
db.beginTransaction();
try{
if(db.insert(..)==-1){
throw new Exception();
}
db.setTransactionSuccessful();
}finally{
db.endtransaction();
}
db.setTransactionSuccessful();
db.beginTransaction();
try{
db.insert(...);
db.setTransactionSuccessful();
}finally{
db.endtransaction();
}
0 0
- android sqlite的SqliteDataBase.insert()方法,以及如何在事务管理中使用
- Android中Sqlite的操作(SQLiteDataBase自带方法)
- Android中SQLite数据库操作(2)——使用SQLiteDatabase提供的方法操作数据库
- Android SQLiteDatabase类中insert方法所调用的insertWithOnConflict方法的实现
- Android---SQLITEDATABASE中QUERY、INSERT、UPDATE、DELETE方法参数说明
- android 中SQLiteDatabase的使用
- Android中SQLiteDataBase的使用
- SQLiteDatabase中query、insert、update、delete方法参数说明 (2012-08-10 10:30:41)转载▼ 标签: android database sqlite
- Android SqLite中insert()方法解析
- 在Android中如何使用SQLite
- 在Android应用中使用SQLite数据库的方法
- Android SQLiteDatabase的使用
- Android SQLiteDatabase的使用
- Android SQLiteDatabase的使用
- android sqlitedatabase的使用
- Android 使用SQLiteDatabase操作SQLite数据库
- Android使用SQLiteDatabase操作SQLite数据库
- Android使用SQLiteDatabase操作SQLite数据库
- Attention model 的一些概念
- 51nod 1515:明辨是非 并查集合并
- Homework1
- 自动化测试软件UFT实验
- PostgreSQL (User defined Operator) UDO & Operator Optimization Information
- android sqlite的SqliteDataBase.insert()方法,以及如何在事务管理中使用
- Caffe matlab之基于Alex network的特征提取
- Word2Vec
- iOS8中使用CoreLocation定位
- 在linux系统中安装MySQL
- Eclipse操作技巧
- orafce extension for PostgreSQL, Oracle's compatibility functions and packages
- Manacher-字符串处理
- 命名管道