如何从sqlite表中获取值而不抛出NullPointerException错误?

时间:2018-01-14 06:31:36

标签: java sqlite nullpointerexception

我一直在寻找这个问题的答案,并找到了许多其他类似的问题。但是,我相信我在接受的答案中遵循了代码,当我尝试运行它时,我仍然会抛出NullPointerException错误。我看到的问题是this。这是从光标获取列值的建议代码:

String id = cursor.getString( cursor.getColumnIndex("id") );

答案对我有意义,所以我根据自己的功能进行了调整:

public String getSubjectId(String subject, String level) {
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor subjectCursor = db.rawQuery("SELECT * FROM " + SUBJECTS_TABLE_NAME + " WHERE " + SUBJECTS_COL_2 + " = " + subject + " AND " + SUBJECTS_COL_3 + " = " + level, null);
    String id = subjectCursor.getString(subjectCursor.getColumnIndex("ID"));
    return id;
}

当我运行它时,我抛出一个NullPointerException错误。我看不出代码有问题,并且对这里的错误含义感到困惑。我对错误的理解是它发生在声明变量但它没有创建对象时,但我无法看到我在代码中的位置。我非常感谢我对错误触发此错误的解释,因为我相信我已经准确地遵循了许多在线教程。

编辑:我知道this question但我的问题是我看不到我将对象指定为null的地方,所以解决方案没有帮助我。

0 个答案:

没有答案