我在我的数据库适配器类中运行一个类似这样的查询,我提供了一个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);
}
现在在我的类中我想将从这个Query返回的各个元素绑定到不同的变量,但我很困惑如何实现它。我正在做类似的事情:
private void fillData() {
Cursor c = DBHelper.fetchRow();
// List<String> idList = new ArrayList<String>();
if (c.moveToFirst()) {
}
}
答案 0 :(得分: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")));
}
希望这会有所帮助。
答案 1 :(得分: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
答案 2 :(得分:0)
您需要以下内容:
variable1 = c.getDouble(c.getColumnIndex("Column1"));
variable2 = c.getString(c.getColumnIndex("Column2"));