2013-09-26 23 views
0

如何在android中创建一个findAll()?我已经尝试过,但我无法实现;如何在android中创建一个findAll()方法

公共列表的findAll(){ 光标C = mDb.rawQuery(+ 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; 
    } } 

编辑:请不要忘记了这一步。

在此先感谢。

+0

如果它编译了,我会感到惊讶。 – CodingIntrigue

回答

0

尝试somethiing一样,在你的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),对于Stringcursor.getString(COLUMN_NUMBER) e tc。

+0

非常感谢,另一个简单的问题:我可以在SQLiteOpenHelper类中放置什么样的方法?我不能简单地把它放在另一个扩展DAODatabase类的DAO类中吗? – rzqr

+0

@rzqr例如添加药剂到表格的方法,删除等。创建单独的类,它扩展了'SQLiteOpenHelper'。 [Here](http://www.vogella.com/articles/AndroidSQLite/article.html#databasetutorial_database)你真的很简单的例子如何扩展'SQLiteOpenHelper'类。 – sswierczek

+0

但是,在Android中使用DAO模式不是一种好的做法,或者它是不必要的? – rzqr

0

做这样

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

退货声明怎么样? – rzqr

+0

发布完整的代码哥们,我将如何知道您的表格中的哪些字段以及您的类“药剂”的外观。您发布了查询,然后我认为您遇到了这个查询。因此,请准确定义问题以及您的问题所在。 –

+0

post've被编辑:) – rzqr

相关问题