2013-07-02 134 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