当我使用where子句时,Android .query不会从db获取数据

时间:2015-07-27 09:00:50

标签: android sqlite cursor

我使用.query从SQLite db表中选择一些特定的行,但是当我使用where子句时它不检索数据,如果我使用null而不是where子句,它会检索最后一行。

public String[] getAllData(){

        hoqooqdb = this.getReadableDatabase();

        String[] columns = new String[] {"_id", "title", "content"};
        Cursor cursor = hoqooqdb.query("unmanshor", columns, "_id = 1", null, null, null, null);

        String[] result = new String[2];

        while (cursor.moveToNext()){

            int iTitle = cursor.getColumnIndex("title");
            int iContent = cursor.getColumnIndex("content");

            result[0] = cursor.getString(iTitle);
            result[1] = cursor.getString(iContent);
        }
        return result;
    }

2 个答案:

答案 0 :(得分:0)

试试这样:

String where = "_id=?";
String[] whereArgs = new String[]{String.valueOf(1)};
String[] columns = new String[] {"_id", "title", "content"};
Cursor cursor = hoqooqdb.query("unmanshor", columns, where, whereArgs, null, null, null);

答案 1 :(得分:0)

很抱歉,但是我的愚蠢案例,在我的数据库中,我的ID是用波斯语言编写的,在我的代码中,它是英文版,代码没有任何问题。 再次抱歉