Я работаю над приложением, которое использует базу данных с тремя столбцами. Вот мое заявление о создании:
public static final String KEY_ID = "_id";
public static final String KEY_NAME = "name";
public static final String KEY_GAMES = "games";
public static final String KEY_WINS = "wins";
private static final String DATABASE_CREATE = "create table "
+ DATABASE_TABLE + " ("
+ KEY_ID + " integer primary key autoincrement, "
+ KEY_NAME + " text not null, "
+ KEY_GAMES + " integer, "
+ KEY_WINS + " integer);";
Теперь я отображаю данные в базе данных в ListView, выполнив следующие действия:
Cursor notesCursor = mDbHelper.getAllEntriesCursor();
startManagingCursor(notesCursor);
String[] from = new String[]{DbAdapter.KEY_NAME, DbAdapter.KEY_WINS, DbAdapter.KEY_GAMES};
int[] to = new int[]{R.id.names, R.id.wins, R.id.games};
SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.win_games, notesCursor, from, to);
setListAdapter(notes);
Когда я бегу, мне выдается следующая ошибка:
java.lang.IllegalArgumentException: column 'wins' does not exist
Когда я захожу в эмулятор через командную строку и отображаю схему базы данных, отображается следующее:
CREATE TABLE namesTable (_id integer primary key autoincrement, name text not null, games integer, wins integer);
Итак, в соответствии с этим, похоже, что столбец 'wins' есть, но я все еще получаю ошибку. Есть идеи, почему это происходит?