光标返回-1的计数,但项目是否​​存在?

时间:2010-08-25 20:30:33

标签: android

我正在使用SQLite数据库存储和检索我的应用数据,以及检查重复条目的内容。我尝试检索标题匹配的所有条目,如下:

Cursor c = mDb.query(DatabaseHelper.GOALS_TABLE_NAME, 
                     new String[] { Goals.GOAL_ID, Goals.TITLE }, 
                     Goals.TITLE + "='" + title + "'", null, null, null, 
                     null, null);

其中title是要比较的标题。

此查询运行,但游标计数为-1。没有where子句的调用也返回-1,但我知道数据存在,因为我能够将列表视图绑定到它。

我有什么遗漏,我是否必须以某种方式填充光标?

提前致谢,

Venatu

1 个答案:

答案 0 :(得分:15)

执行query()时,会立即返回Cursor。查询本身尚未运行。只有在执行需要数据加载的操作时才会执行查询。首先尝试执行另一种方法(例如moveToFirst()),然后再调用getCount(),看看是否会改变一切。