我正在尝试从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(它应该只返回所有内容......),它也是空的。
答案 0 :(得分:0)
确保你给出的列名是正确的......
答案 1 :(得分:0)
我在从Cursor读取数据之前关闭了数据库连接。显然你不能这样做。现在我知道了!