SQLite查询始终返回空游标

时间:2016-07-12 18:06:52

标签: android database sqlite

我正在创建一个我需要存储每天数据的应用程序,如果我可以轻松过滤它会很有帮助,所以我决定学习SQLite数据库,找到教程(实际上有几个),然后跟着它结尾总是得到相同的结果 - 空光标。

enter public Day getDay(int year, int month, int day) {
    Day ret = null;

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor c = db.rawQuery("SELECT '*' FROM '" + TABLE_DAYS + "'", null);
    Log.d("DATA", "entries found: " + c.getCount());
    c.close();
    db.close();
    return ret;
}

插入新行的方法似乎是有效的,因为它返回了预期的数字,但即使之后调用它,它也会返回空的Cursor。我已经阅读了很多教程和SO帖子而没有找到修复。 我也试过metod .query(...)同样的结果。

5 个答案:

答案 0 :(得分:1)

为了避免将来出现语法错误,可能需要使用query()方法代替rawQuery()。通过返回所有行的数据,以下内容将与rawQuery()实现相同的结果。

Cursor c = db.query(TABLE_DAYS, null, null, null, null, null, null);
c.getCount();

答案 1 :(得分:0)

尝试从SELECT * FROM

中删除引号

答案 2 :(得分:0)

使用db.rawQuery("SELECT * FROM " + TABLE_DAYS + "", null);

答案 3 :(得分:0)

替换

staticMethod()

Cursor c = db.rawQuery("SELECT '*' FROM '" + TABLE_DAYS + "'", null);

答案 4 :(得分:0)

原来错误是在其他地方 - 将错误的参数传递给创建数据库的方法。无论如何,谢谢所有回复。