【发布时间】:2014-02-23 18:22:34
【问题描述】:
我正在尝试使用此查询从我在 Android 中的 SQLite 数据库中获取数据。
Cursor cursor = db.rawQuery("SELECT * FROM Task where taskId = 1 ", null);
然而游标返回为空,存在值为1的taskId。
如果我这样做
Cursor cursor = db.rawQuery("SELECT * FROM Task", null);
我的光标包含所有值 - 包括值为 1 的 taskId。
我也尝试了以下所有命令,它们都不起作用:
Cursor cursor = db.rawQuery("SELECT * FROM Task where taskId = " + 1, null);
Cursor cursor = db.rawQuery("SELECT * FROM Task where taskId = " + "'1'", null);
Cursor cursor = db.rawQuery("SELECT * FROM Task where taskId = ?", new String[]{"1"});
taskId 是 Integer 类型,用 Text 也试过了,也没用。
有什么我没有考虑到的吗?非常感谢您的帮助!
编辑: 创建数据库的代码:
CREATE TABLE Task + " (" +
_id INTEGER PRIMARY KEY," +
"taskDescription TEXT, +
"taskId INTEGER," +
"taskName TEXT" +
"PreviousTaskID " + "REFERENCES " + "PreviousTasks " +
"(" + PreviousTasks._ID + "))"
【问题讨论】:
-
显示一些代码怎么样?
-
你能显示你的表的定义吗?
-
噗,还是没有错……你确定你没有把_id字段和taskId混在一起吗??
-
我用 _id 和 taskId 都试过了 - 结果相同:(
标签: android database sqlite cursor