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

Ven*_*atu 6 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);
Run Code Online (Sandbox Code Playgroud)

标题是要比较的标题.

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

有什么我想念的,我是否必须以某种方式填充光标?

提前致谢,

Venatu

Com*_*are 15

当你这样做时query(),Cursor会立即返回.查询本身尚未运行.只有在执行需要数据加载的操作时才会执行查询.moveToFirst()在调用之前首先尝试执行另一个方法(例如)getCount(),看看是否会改变.