在SQLite中使用'_id'从表中选择

时间:2012-12-27 20:16:55

标签: android sqlite where-clause android-cursor

我想使用id作为选择从我的sqlite数据库中选择一个特定的行。 在我的数据库中,id被称为_id。我想使用以下函数,参数是我要选择并保存到游标中的行的id。 DATABASE_TABLE_Bewirtschafter是我桌子的名字。

public Cursor createBewirtschafterIDCursor(int id) {
        return db.query(DATABASE_TABLE_Bewirtschafter, null, "_id = " + id,
                null, null, null, null);
}

不幸的是,这不起作用,我得到一个空指针异常。 这有效:

public Cursor createBewirtschafterListViewCursor(String like) {
    return db.query(DATABASE_TABLE_Bewirtschafter, null, "gewName LIKE '%" + like + "%'",
            null, null, null, null);
}

2 个答案:

答案 0 :(得分:1)

你的db变量设置为什么?从您展示的代码来看,这几乎是我猜测导致NullPointerException被抛出的原因。

答案 1 :(得分:0)

是的,因为您在查询

中的列参数中传递null
db.query(DATABASE_TABLE_Bewirtschafter, null, "_id = " + id,
                null, null, null, null);

然而你应该传递一个字符串数组,其中包含不同列的名称..对于ref,请检查

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html