Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用SQLite中的“\u id”从表中选择_Android_Sqlite_Where Clause_Android Cursor - Fatal编程技术网

Android 使用SQLite中的“\u id”从表中选择

Android 使用SQLite中的“\u id”从表中选择,android,sqlite,where-clause,android-cursor,Android,Sqlite,Where Clause,Android Cursor,我想使用id作为选择,从sqlite数据库中选择特定的行。 在我的数据库中,id被称为_id。我想使用以下函数,参数是我想选择并保存到光标中的行的id。 DATABASE_TABLE_Bevertschafter是我的表的名称 public Cursor createBewirtschafterIDCursor(int id) { return db.query(DATABASE_TABLE_Bewirtschafter, null, "_id = " + id,

我想使用id作为选择,从sqlite数据库中选择特定的行。 在我的数据库中,id被称为_id。我想使用以下函数,参数是我想选择并保存到光标中的行的id。 DATABASE_TABLE_Bevertschafter是我的表的名称

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);
}

您的db变量设置为什么?从您展示的代码判断,我猜这正是引发NullPointerException的原因。

是的,因为您在查询中传递的是null in列参数

db.query(DATABASE_TABLE_Bewirtschafter, null, "_id = " + id,
                null, null, null, null);
然而,您应该传递一个字符串数组,其中包含不同列的名称。。参考请检查


db=context.openOrCreateDatabaseDATABASE\u名称,SQLiteDatabase.CREATE\u如果需要,则为null;谢谢在“我的编辑”中,您可以看到我的另一条语句,该语句工作正常,列也为空。为什么?我发现了我的失败。我忘了打开数据库。如果答案对你有帮助,别忘了将其标记为已接受。