从CSV文件更新Android数据库

时间:2016-04-14 17:15:20

标签: android database sqlite csv

我正在开发一个应用程序,它将下载CSV文件并使用CSV数据填充数据库表。

问题是每小时都会修改CSV文件,我的应用程序必须根据更改更新数据库。

我不知道会有哪些更改 - 删除/添加行或更改记录。

在这种情况下,最佳做法是什么?下载新CSV时,我是否应该删除表并再次创建它?或者更好地将现有值与新值进行比较并进行必要的更改?

1 个答案:

答案 0 :(得分:0)

我认为如果您在表中放置updateTime列并且每次从csv导入数据时,您的问题都可以解决,您只需执行以下更新:

                 int rowsEffected = database.update(...);

如果rowsEffected> 0,则执行insert。每次插入或更新时,都需要将更新的日期时间放在updateTime列中,也放在共享首选项中。接下来,当您在下一小时从csv文件获取数据时,只需从sharedpreference检查日期时间并删除updateTime列中未标记datatime的每个列,因为它们在先前的csv中不存在并继续插入和更新。我不会删除并重新创建,因为删除和重新创建类似于清理启动,但在这里你只是操纵数据。