我在检查sqlite表时不断获得NPE

时间:2012-09-24 02:15:07

标签: android sqlite nullpointerexception

我正在尝试使用我的SQLiteOpenHelper文件检查表中是否存在表和使用Android的SQLite数据库

// Check to see if a table exists
public boolean isTableExists(String tblName) {
    String existQuery = "SELECT name FROM sqlite_master WHERE name ='" + tblName + "' and type='table'";
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(existQuery, null);

    if(cursor != null){
        cursor.close();
        return true;
    }

    return false;

}

来自我的活动的电话是

if(db.isTableExists("characters") == false){
        Intent p = new Intent("com.tml.rpgtodo.CREATECHARACTER");
        startActivity(p);
    }

我一直在使用if语句在行上获得NullPointerException。我做错了什么?

1 个答案:

答案 0 :(得分:1)

当您致电db时,if(db.isTableExists("characters") == false)听起来似乎为空。

我也看到你在“isTableExists()”中初始化db。这是不同的“db”吗?