0

Это ошибка я получаю, когда я пытаюсь запустить мое приложениеНелегальная исключение аргумента в андроиде: Колонка _id не существует

Illegal исключения аргумента в андроиде: Колонка _id не существует

public static final String OBJ_ID="_id"; 

и создание базы данных выглядит следующим образом:

private static final String CREATE_TAB1= "create table " + TABLE_1 + " (" + OBJ_ID + " integer primary key          
    autoincrement, " + OBJ_NAME + " text not null, " + DESC1 + " text not null, " + DESC2 + " text not null);"; 

Попытка извлечь данные с помощью следующей функции в databasehandler:

 public Cursor getAllTable1() { 
       return db.query(TABLE_1, 
           new String[] { OBJ_NAME }, 
           null, null, null, null, null); 
       } 

Это функция, где я общаюсь с Databse

public class List_View extends ListActivity { 



public void onCreate(Bundle icicle) 
{ 
    super.onCreate(icicle); 
    setContentView(R.layout.displayitems); 

    Databasehelp db = new Databasehelp(this); 
    db.open(); 


    Cursor cursor = db.getAllTable1(); 

    startManagingCursor(cursor); 

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
      R.layout.list_example_entry, cursor, 
      new String[] {"name"}, 
      new int[] {R.id.name_entry }); 
    setListAdapter(adapter); 
} 
} 

Хотя моя схема базы данных состоит из столбца с именем _id. Я изменил это даже на _ID, но, похоже, не работал. Может ли кто-нибудь помочь мне в решении этого?

ответ

0

Вы должны выбрать столбец _id при привязке курсора к ListView (Spinner и т. Д.).

Так добавить _id колонку, как это:

public Cursor getAllTable1() { 
    return db.query(TABLE_1, 
      new String[] { OBJ_ID, OBJ_NAME }, 
      null, null, null, null, null); 
} 
+0

Спасибо большое @ Сэм – ARK

Смежные вопросы