public List<person> findall() {
SQLiteDatabase db = helper.getReadableDatabase();
List<person> persons = new ArrayList<person>();
// Cursor cursor = db.rawQuery("select * from person", null);
Cursor cursor = db.query("person", new String[] { "name", "id",
"number" }, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String number = cursor.getString(cursor.getColumnIndex("number"));
person p = new person(id, name, number);
persons.add(p);
}
cursor.close();
db.close();
return persons;
}
以上是查找findall的代码
public void testfindall() throws Exception {
persondao2 dao = new persondao2(getContext());
List<person> persons = dao.findall();
for (person p : persons) {
System.out.println(p.toString());
}
}
这是测试代码
我确认数据库里有数据 我用第三方软件查看 可以看到数据库的内容 但是利用测试代码读取出来的是这样
刚学android开发 求大神帮看看哪里出了问题
domain的代码如下
package com.example.domain;
public class person {
private int id;
private String name;
private String number;
public person() {
}
public person(int id, String name, String number) {
this.id = id;
this.name = name;
this.number = number;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
建议:
1.使用Log.i()...查看LOG,不要使用print.
2.重写person类的tostring方法.
######十分感谢 确实如此 原来是我没写tostring的方法~~版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。