是否可以比较两个游标?

时间:2013-02-11 12:47:49

标签: android sqlite

我需要检查两个游标是否指向具有相同值的相同行。有可能吗?

更多详情:

  1. 我正在从我自己的ContentProvider
  2. 加载数据
  3. 我正在向服务器发送请求,然后使用新值更新ContentProvider内的数据。
  4. 如果值已更改 - 我需要通知用户他可以更新数据。

2 个答案:

答案 0 :(得分:4)

根据CommonsWare删除的答案:

  

迭代Cursor中的相关列,检索值并比较每个值。

虽然您可能事先不知道每列的类型,但您可以找到Cursor.getType()。您还可以使用Cursor.getColumnNames()获取每列的名称和列数。

此信息将允许您使用正确的访问器方法获取每个值并进行比较。

答案 1 :(得分:3)

在SQLite中,行没有与其列值分开的标识(但ROWID是这些值之一)。

您想要的是您的数据在游标中有一些唯一的列,ROWID或其他一些保证没有重复的键值。

否则,您永远无法知道您所看到的只是两个记录恰好在这些列中具有相同的值。