1

我在我的数据库适配器类中运行一个查询,类似这样,我提供一个 ID 并希望获取与该 ID 关联的行:

    public Cursor fetchRow(String a) {
    String Key = a; 

    return mDb.query(DATABASE_TABLE0, new String[] {IDno1, GIDno1,Name1,Owner1,Breed1,Gender1}, "IDno=?",new String[]{Key}, null, null, null, null);
}

现在在我的类中,我想将从这个查询返回的各个元素绑定到不同的变量,但我很困惑如何实现这一点。我正在做类似的事情:

    private void fillData() {
    Cursor c = DBHelper.fetchRow();

   // List<String> idList = new ArrayList<String>();
    if (c.moveToFirst()) {


             }
}
4

3 回答 3

2
try {
            c = null;
            String select = "Select * FROM tbl";
            c = db.rawQuery(select, null);
            if (null!=c) {
                while (c.moveToNext()) {
                    //Here you can directly set the value in textview
                    txtview.setText(c.getString(c.getColumnIndex("column_name")));
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            c.close();
        }

通过这种方式,您可以获得您的值并将其直接设置为 textview。如果您确定只有一行,则不要使用 while 语句。

if (null!=c) {
    c.moveToNext();
    txtview.setText(c.getString(c.getColumnIndex("column_name")));
}

希望这会有所帮助。

于 2012-10-09T09:10:44.210 回答
0

做这样的事情做一个类,在其中声明 setter 和 getter

 private void fillData() {
    Cursor c = DBHelper.fetchRow();

    List<String> idList = new ArrayList<String>();
    if (c.moveToFirst()) {
        do {
            IdList q = new IdList ();
            q.setid0(c.getString(0));
            q.setid1(c.getString(1));
            q.setid2(c.getString(2));
            q.setid3(c.getString(3));
            q.setid4(c.getString(4));
                idList .add(q);
            }
        } while (c.moveToNext());


    }
}

并从类中获取值并设置为 textview

于 2012-10-09T09:10:48.630 回答
0

你需要类似的东西:

variable1 = c.getDouble(c.getColumnIndex("Column1"));
variable2 = c.getString(c.getColumnIndex("Column2"));
于 2012-10-09T09:18:47.573 回答