Я думаю, что я проверил все предыдущие сообщения по этому вопросу, но не похоже, ни один, помогают мне ...Еще один «столбец _id не существует» проблема
Basic материала - пытаются использовать адаптер курсора, связанный с моя база данных, но я получаю:
java.lang.IllegalArgumentException: column '_id' does not exist
Моя схема имеет тот столбец, определенный (хотя у меня есть 2 таблицы, как с тем же названием - является то, что вопрос?), как это:
public static abstract class dbMain implements BaseColumns {
public static final String TABLE_NAME = "mpgMain";
public static final String ENTRY_ID = "_id";
public static final String VEHICLE_NAME = "v_name";
}
public static abstract class dbHistory implements BaseColumns {
public static final String TABLE_NAME = "mpgHistory";
public static final String ENTRY_ID = "_id";
public static final String TRIP_DATE = "date";
}
Из других сообщений, Я поставил _id в моем курсоре porjection:
String[] projection = {dbMain.ENTRY_ID, dbMain.VEHICLE_NAME};
Cursor mpgCur = mpgDB.query(dbMain.TABLE_NAME, projection, null, null, null, null, null);
... но тогда моя трассировка стеки дает ту же ошибку, в строке запроса. Если удалить entry_id от проекции, ту же ошибку, но на более поздних моделях инстанцировании адаптер:
String[] fromColumns = {dbMain.VEHICLE_NAME};
int[] toViews = {R.id.displayVehicle};
SimpleCursorAdapter vehAdapter = new SimpleCursorAdapter(this,
R.layout.activity_first_screen, mpgCur, fromColumns, toViews, 0); <--- HERE
Я также попытался поставить пробел в команде CREATE TABLE, перед полем _ID:
private static final String SQL_CREATE_MAIN_TABLE =
"CREATE TABLE " + dbMain.TABLE_NAME + " (" +
dbMain.ENTRY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
Любые идеи с благодарностью получили ...
сделал. вы пытаетесь Log.d все имена столбцов курсора? – pskink
'в строке запроса'. Это означает, что таблица не содержит столбца _id. Вероятно, вы добавили его после создания таблицы и не обновили свою таблицу. удаление и повторная установка приложения должны решить эту проблему. – njzk2
Это так, если я только работаю над эмулятором и каждый раз переучиваю? – Nelmo