0

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が発生し続けます。私は何が間違っているのですか?

4

1 に答える 1

1

dbを呼び出すと is nullのように聞こえますif(db.isTableExists("characters") == false)

また、「isTableExists()」内で db を初期化していることもわかります。それは別の「db」ですか?

于 2012-09-24T02:22:23.260 に答える