如何从SQLite中将一列拉入一个字符串?

时间:2013-10-23 18:26:12

标签: android sql database string sqlite

我正在寻找一种有效的方法来做到这一点。一种希望需要一个字符串的方式。我希望数据如下所示:

ROW1
 2行
 ROW3
 row4

我想尝试使用一个字符串的原因是因为我可以从不同的表调用相同的查询,它将具有不同的行数。一个可能有10个,另外8个。所以当可能有一个10的表时我不能专门使用8个字符串。

有没有办法可以做到这一点,它只是收集一列有价值的数据然后我可以将其格式化为如上/

我目前所做的是使用多个字符串。见下文:

//select stuff
    Cursor c = db.rawQuery("SELECT * FROM table_one", null);
        c.moveToFirst();
        in1 = c.getString(c.getColumnIndex("column_one"));
        c.moveToNext();
        in2 = c.getString(c.getColumnIndex("column_one"));
        c.moveToNext();
        in3 = c.getString(c.getColumnIndex("column_one"));
        c.moveToNext();
        in4 = c.getString(c.getColumnIndex("column_one"));
        c.moveToNext();
        in5 = c.getString(c.getColumnIndex("column_one"));

    String all = in1 + "\n" + in2 + "\n" + in3 + "\n" + in4 + "\n" + in5;

当然,此代码假定列中始终存在5位信息,因为它变化。

有更好的方法吗?

感谢帮助。

1 个答案:

答案 0 :(得分:0)

你可以使用循环和构造这样的数据:

Cursor c = db.rawQuery("SELECT * FROM table_one", null);
String all = "";
if (c != null) {  
    if(c.moveToFirst())
        do {
            String in = c.getString(c.getColumnIndex("column_one"));
            all += in + "\n";
        } while (c.moveToNext());
    c.close();
}