2013-07-02 61 views
0

我嘗試查詢特定列中的所有數據,但會導致錯誤「確保在訪問數據之前正確初始化遊標」。這個代碼有什麼問題,謝謝。查詢特定列的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

光標索引是基於0。第一列對應於:c.getString(0)

您可以使用getColumnIndex(columnName)

3

嘗試此代替c.getString(1):

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

是的它工作謝謝你的索引 – user2149618