如何在android中创建一个findAll()方法

时间:2013-09-26 11:03:37

标签: android sqlite dao

如何在android中创建 findAll()?我试过这个,但我做不到;

  

public List findAll(){       光标c = mDb.rawQuery(“select * from”+ TABLE_NAME,“”,“”); }

这是Medicament.java

public class Medicament {
    private long   id;
    private String nom;
    private String fabriquant;
    private String pharmacie;
    private String description;
    private float prix;

    public Medicament( long id, String nom, String fabriquant, String pharmacie, String description, float prix ) {
        super();
        this.id = id;
        this.nom = nom;
        this.fabriquant = fabriquant;
        this.pharmacie = pharmacie;
        this.description = description;
        this.prix = prix;
    }

    public long getId() {
        return id;
    }

    public void setId( long id ) {
        this.id = id;
    }

    public String getNom() {
        return nom;
    }

    public void setNom( String nom ) {
        this.nom = nom;
    }

    public String getFabriquant() {
        return fabriquant;
    }

    public void setFabriquant( String fabriquant ) {
        this.fabriquant = fabriquant;
    }

    public String getPharmacie() {
        return pharmacie;
    }

    public void setPharmacie( String pharmacie ) {
        this.pharmacie = pharmacie;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription( String description ) {
        this.description = description;
    }

    public float getPrix() {
        return prix;
    }

    public void setPrix( float prix ) {
        this.prix = prix;
    } }

编辑:请不要忘记返回声明。

提前致谢。

2 个答案:

答案 0 :(得分:0)

这样做

Cursor c = mDb.rawQuery( "select * from " + TABLE_NAME,null);

答案 1 :(得分:0)

在你的SQLiteOpenHelper中尝试类似的东西:

public List<Medicament> findAll() {
    List<Medicament> medicaments = new ArrayList<Medicament>();
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery( "SELECT * FROM " + TABLE_NAME,null);
    if (cursor.moveToFirst()) {
        do {
            Medicament medicament = new Medicament();

            /*fill here medicament object with values from row, 
            cursor.getString(0) = id value, cursor.getString(1) etc...
            for example medicament.setName(cursor.getString(1))*/

            medicaments.add(medicament);

        }
        while (cursor.moveToNext());
    }
    return medicaments;
}

编辑:

请务必在单元格中正确使用方法来处理值类型,例如Integer值使用cursor.getInt(COLUMN_NUMBER)String cursor.getString(COLUMN_NUMBER)等。