1

ID を提供し、その ID に関連付けられた行を取得したい場合、DB アダプター クラスで次のようなクエリを実行しています。

    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();
        }

このようにして、値を取得してテキストビューに直接設定できます。行が 1 つしかないことが確実な場合は、while ステートメントを使用しないでください。

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

これが役立つことを願っています。

于 2012-10-09T09:10:44.210 に答える
0

このようなことをして、セッターとゲッターを宣言するクラスを作成します

 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());


    }
}

クラスから値を取得し、テキストビューに設定します

于 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 に答える