2013-07-02 6 views
0

Я пытаюсь запросить все данные в определенном столбце, но в результате возникает ошибка «убедитесь, что курсор инициализирован правильно, прежде чем обращаться к данным». есть ли какие-либо проблемы с этим кодом, спасибо.query sqlite для конкретного столбца

public List<String> getAllItemName(){ 
    String[] column = new String[]{Pro_ID, Pro_Name, Pro_Price, Pro_Description, Pro_Date}; 
    Cursor c= ourDatabase.rawQuery("SELECT " + Pro_Name + " From "+ TABLE_NAME , null); 

    List<String> lst = new ArrayList<String>(); 
    if (c.moveToFirst()) { 
     do { 
      lst.add(c.getString(1)); 
           String name = c.getString(1); 
           Log.v(name,name + (" name")); 
     } while (c.moveToNext()); 
    } 

    return lst; 

} 

ответ

2

Cursor Индексы 0 основе. Первый столбец соответствует: c.getString(0).

Вы можете получить индекс столбца с помощью getColumnIndex(columnName)

3

Попробуйте вместо c.getString (1):

c.getString(c.getColumnIndex(Pro_Name)) 
+0

да это работает спасибо – user2149618

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