文档章节

Android数据存储SQLite的事务操作

今日竹石
 今日竹石
发布于 2014/04/17 10:11
字数 187
阅读 38
收藏 1

          使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。

        下面是一个例子:

/**

 * 保存连载更新的最大章节数

 *

 * @param bookId

 * @param bookChapterTotalNum

 */

public void saveBookChapterTotalNum(String bookId, int bookChapterTotalNum) {

 synchronized (MyOpenHelper.databaseLock) {

  SQLiteDatabase db = null;

  try {

   UserInfo userInfo = UserManager.INSTANCE.getUserInfo();

   String username = userInfo.getUsername();

   if (username == null || "".equals(username)) {

    username = MyOpenHelper.AdminUser;

   }

   db = MyOpenHelper.getInstance().getWritableDatabase();

   db.beginTransaction();

   try {

    if (isHave(db, bookId, username)) {

     String sql = "UPDATE "

       + tableName

       + " SET bookChapterTotalNum=? WHERE bookId=? and (username=? or username='"

       + MyOpenHelper.AdminUser + "')";

     Object[] bindArgs = { bookChapterTotalNum, bookId,

       username };

     db.execSQL(sql, bindArgs);

    }

    db.setTransactionSuccessful();

   } catch (Exception e) {

    e.printStackTrace();

   } finally {

    db.endTransaction();

   }

  } catch (Exception e) {

   e.printStackTrace();

  } finally {

   closeDB(db);

  }

 }

}



© 著作权归作者所有

共有 人打赏支持
今日竹石
粉丝 41
博文 227
码字总数 181312
作品 0
朝阳
程序员
Android数据的四种存储方式之三——SharedPreferences

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences 除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质...

Airship
2015/03/25
0
0
Android数据的四种存储方式之一——总览

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览 作为一个完成的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据...

Airship
2015/03/25
0
0
Android:SharedPreferences解析和实现记住用户名

SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存。S...

岑浩源
2012/11/28
0
0
Android数据的四种存储方式(一) —— 总览

作为一个完成的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基...

的书法上的
2014/06/12
0
0
详解Android数据存储技术

前言 学习Android相关知识,数据存储是其中的重点之一,如果不了解数据,那么让你跟一款没有数据的应用玩,你能玩多久呢?答案是这和没有手机几乎是差不多的。我们聊QQ,聊微信,看新闻,刷朋...

达叔小生
08/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊clean code

clean code,顾名思义就是整洁的代码,或者说清晰、漂亮的代码,相信大多数工程师都希望自己能写出这样的代码。 也许这是个千人千面的话题,每个工程师都有自己的理解。比如我,从一个天天被...

Skqing
14分钟前
1
0
redis连接报错—— (error) NOAUTH Authentication required.

1.redis报认证错误 redis客户端连接成功,但是操作报异常——(error) NOAUTH Authentication required 错误的含义是说你没有认证,说明没有使用密码连接 redis-cli -h 127.0.0.1 -p 6379 -a ...

啊哈关关
20分钟前
1
0
地理位置坐标标准以及转换

/** * 地理位置坐标标准以及转换 * * 1.WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的经纬度(国外)都是基于W...

葉者
22分钟前
1
0
Generator-ES6

基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。 Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个状态机,封装...

简心
40分钟前
5
0
FullCalendar日历插件说明文档

普通显示设置 属性 描述 默认值 header 设置日历头部信息。 如果设置为false,则不显示头部信息。包括left,center,right左中右三个位置,每个位置都可以对应以下不同的配置: title: 显示当...

ada_young
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部