项目需要,版本升级时给表添加了一些新的字段,发现出现异常。

解决方法:监听数据库的版本号,更新数据库。

创建FinalDb对象时使用如下的构造函数,监听版本号的变化:

db = FinalDb.create(getActivity(), "chat.db", true, 3, dbUpdateListener);

然后重写DbUpdateListener,

DbUpdateListener dbUpdateListener = new FinalDb.DbUpdateListener() {
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (tabbleIsExist(db, "chat_messages")) {
db.execSQL(VERSION_3_SQL_ADD_COLUMN_HAS_PRAISED);
} if (tabbleIsExist(db, "chat_conversations")) {
db.execSQL(VERSION_3_SQL_ADD_COLUMN_ACCESSTOKEN);
db.execSQL(VERSION_3_SQL_ADD_COLUMN_ISLOGIN);
}
}
};

在onUpgrade()方法里面可以自定义操作,一般是执行添加表字段的操作。

private String VERSION_3_SQL_ADD_COLUMN_HAS_PRAISED = "alter table chat_messages add column has_appraised varchar(50)";

最新文章

  1. AngularJS入门心得1——directive和controller如何通信
  2. SPOJ QTREE Query on a tree --树链剖分
  3. 锋利的jQuery-3--用js给多选的checkbox或者select赋值
  4. ireport制作小技巧
  5. Android定时器实现方法[转]
  6. HTMLTestRunner 自动化测试报告
  7. 动态分配内存补充 realloc
  8. UVA 644 Immediate Decodability (字符处理)
  9. 如何禁止使用teamviwer的使用
  10. C/C++筛选法算素数
  11. Django框架之正则表达式URL误区
  12. javascript中的"x != x"
  13. “菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)
  14. SharePoint 错误集
  15. C++ API方式连接mysql数据库实现增删改查
  16. [leetcode]Best Time to Buy and Sell Stock III @ Python
  17. python框架---->BeautifulSoup的使用
  18. [翻译] IDMPhotoBrowser
  19. OO的第一次死亡
  20. 东北育才 NOIP模拟赛第1场

热门文章

  1. mysql InnoDB引擎支持hash索引吗
  2. UNITY 的GC ALLOC到底是什么
  3. Jmeter的安装与使用
  4. C# DataTable使用方法详解--删除表数据
  5. [C语言]流程控制, 复合赋值, 优先级, 循环控制
  6. css3选择器补充
  7. JS-cookie和正则表达式
  8. keras初探
  9. soft selective sweeps 下的群体进化
  10. MVC002之获取当前用户失败(Context.User.Identity.Name)