如何从游标对象中提取行值?

问题描述

我使用了此查询"SELECT English FROM Sheet1 WHERE Category_id='WL_1'"在这里它返回13行和1列,但我没有得到如何从游标中提取那些13行的值。 我正在尝试:

 for(i in 0 until testData!!.count){
     Log.e("HomeActivity","Fetched column data:"+testData!!.getString(testData!!.getColumnIndex("English")))
   
      testData!!.movetoNext()
}

但是它仅运行3次,仅返回第0行项目,而不返回第1,2行,依此类推。 所以,请告诉我我在做什么错。

解决方法

您可以尝试

        String sql="SELECT English  FROM Sheet1 WHERE Category_id='"+WL_1+"' ";
        Cursor cr=db.query(sql);

        ArrayList arrayList=new ArrayList();
        while (cr.moveToNext()) {
            try {
                String English = cr.getString(cr.getColumnIndex("English"));

                arrayList.add(English);

            }catch (Exception e){
                Log.d(activity," Something went wrong");
            }
        }