如何使用游标获得多个选择结果?

时间:2014-05-17 21:48:50

标签: java cursor

我使用cursor.movetonext来获取这样的选择结果:

while(cursor.moveToNext()){
    int index2=cursor.getColumnIndex(DbHelper.KEY_PASSWORD);
    String password=cursor.getString(index2);
    buffer.append(password);
}
return buffer.toString();

但每次只能返回一个结果。如果有多个结果符合选择条件怎么办?如何在主要活动中获得所有结果?

1 个答案:

答案 0 :(得分:0)

这取决于while(cursor.moveToNext())循环的作用。如果它遍历所有结果,那么只要您在循环外部初始化缓冲区,您的代码就应该返回所有结果。

如果您从查询返回3个密码,“p1”,“p2”和“p3”,则此方法将所有这些连接在一起并返回一个字符串“p1p2p3”。

通常的做法是使用java.sql.ResultSet和List来返回多个结果。 e.g。

List<String> listOfPasswords = new ArrayList<String>();
while(resultSet.next()){
    listOfPasswords.add(resultSet.getString(index));
}
return listOfPasswords;