从SQLite数据库中读取时获取括号

时间:2014-04-05 20:14:28

标签: android sql database string sqlite

我试图从我的SQLite数据库中提取几个字符串,我已经在我的应用程序上工作了。但是,当我尝试读取所有字符串时,我得到的是#34; [] []"。这是我的字符串返回方法

public String getData(){
    db = myDBHelper.getReadableDatabase();
    String[] rows = new String[]{KEY_NAME,KEY_TOPICS};
    Cursor c = db.query(DATABASE_TABLE, rows, null, null, null, null, null);
    String  dun = "";
    int iRow = c.getColumnIndex(KEY_ROWID);
    int iSubject = c.getColumnIndex(KEY_NAME);
    int iTopics = c.getColumnIndex(KEY_TOPICS);

    ArrayList<String> s = new ArrayList<String>();
    ArrayList<String> t = new ArrayList<String>();


    for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
        String sS = c.getString(iSubject);
        String tS = c.getString(iTopics);
        s.add(sS);
        t.add(tS);
    }

    dun = "Testsum " + s.toString() + t.toString() + " Checksum";
    c.close();
    return dun;
}

任何人都可以建议为什么我得到的是&#34; [] []&#34; (当然还有返回字符串开头和结尾的两个字符串)?

2 个答案:

答案 0 :(得分:1)

使用.toString()无法从ArrayLists获取数据。如果您要获取每个列表的第一个数据,可以使用此:
dun = "Testsum " + s.get(0) + " " +t.get(0) + " Checksum";

或者如果你想要所有,请改用For循环

答案 1 :(得分:0)

st是ArrayLists,显然是空的。括号表示法是toString()方法表示此类对象的方式。我不确定您希望在字符串dun中返回哪些信息,但是如果您想要显示每个列表中有多少项:

dun = "Testsum " + s.size() + " " + t.size() + " Checksum";