私は自分のsqliteデータベースで構成テーブルを使用しています。これには次の構成があります。
private static final String DATABASE_CONFIG_CREATE =
"CREATE TABLE " + TABLE_CONFIGS
+ "("
+ CONFIG_HIDDEN_CATEGORIES + " TEXT DEFAULT '1,2' NULL"
+ ");";
後で、次のコードでアクセスしようとします。
Cursor cursor = database.query(DatabaseHelper.TABLE_CONFIGS, new String[] {DatabaseHelper.CONFIG_HIDDEN_CATEGORIES}, null, null, null, null, null);
try {
cursor.moveToFirst();
int test = cursor.getCount();
String data = cursor.getString(0);
}
catch (Exception exception) {
しかし、この行cursor.getString(0)
は次の例外をスローします (変数 test は 0):
android.database.CursorIndexOutOfBoundsException: サイズ 0 のインデックス 0 が要求されました
次のコードを実行すると、列CONFIG_HIDDEN_CATEGORIES
が表示されます...何が問題なのですか?
Cursor dbCursor = database.query(DatabaseHelper.TABLE_CONFIGS, null, null, null, null, null, null);
String[] columnNames = dbCursor.getColumnNames(); // index 0 is the value of CONFIG_HIDDEN_CATEGORIES