SQLite Cursor中从不包含字段

时间:2011-11-18 04:52:30

标签: android sqlite cursor

我正在尝试从SQLite数据库中的表中检索字段。我已经通过使用sqlite3命令验证数据是否在表中,并使用针对我的“database”对象中引用的数据库的调试器运行我从Cursor中获取的查询。

这是我的代码:

openForRead();

Cursor cursor = database.query(DATABASE_TABLE,
            null, // All columns
            null,
            null,
            null,
            null,
            "((" + latitude + " - " + KEY_LAT + ") * (" + latitude + " - " + KEY_LAT + ") + ( "
                    + longitude + " - " + KEY_LONG + ") * ( " + longitude + " - "+ KEY_LONG + "))",
            "10"
);

close();

此代码生成SQL查询,例如:

SELECT * FROM airport ORDER BY ((35.9314068 - latitude) * (35.9314068 - latitude) + ( -115.09285366 - longitude) * ( -115.09285366 - longitude)) LIMIT 10

我现在只有5个机场,所以我不会超过一些内存限制或类似的东西。

当我在sqlite3中运行该查询时,我得到了数据。

为什么我的Cursor总是空的?即使我将所有内容都设置为null(它应该只返回所有内容......),它也是空的。

2 个答案:

答案 0 :(得分:0)

确保你给出的列名是正确的......

答案 1 :(得分:0)

我在从Cursor读取数据之前关闭了数据库连接。显然你不能这样做。现在我知道了!