我從數據庫中得到了一個結果集「rs」。 rs只包含一列。我想通過其索引訪問行,而不是所有行。現在,我知道我可以使用它迭代 -使用迭代器遍歷結果集?
while(rs.next()){
rs.getString("employee_name")
}
但是,它不讓我選擇該行。
其實,我想要連續行,向它添加一個逗號,然後添加下一行。最後一個元素後面沒有逗號。所以,我需要迭代到倒數第二或第n-1行並繼續添加逗號。之後,我只需要將最後一行添加到我的字符串中,並完成作業。
我從數據庫中得到了一個結果集「rs」。 rs只包含一列。我想通過其索引訪問行,而不是所有行。現在,我知道我可以使用它迭代 -使用迭代器遍歷結果集?
while(rs.next()){
rs.getString("employee_name")
}
但是,它不讓我選擇該行。
其實,我想要連續行,向它添加一個逗號,然後添加下一行。最後一個元素後面沒有逗號。所以,我需要迭代到倒數第二或第n-1行並繼續添加逗號。之後,我只需要將最後一行添加到我的字符串中,並完成作業。
String temp = "";
StringBuilder sb = new StringBuiler();
while(rs.next()){
sb.append(rs.getString("employee_name"));
sb.append(",");
}
temp = sb.toString();
temp = temp.substring(0, temp.length()-1);
嘗試了下:
Set<String> set = new LinkedHashSet<String>();
while(rs.next()) {
set.add(rs.getString("employee_name"));
}
Iterator<String> it = set.iterator();
StringBuilder sb = new StringBuilder();
while(it.hasNext()) {
sb.append(it.next());
if (it.hasNext()) {
sb.append(",");
}
}
String result = sb.toString();
我認爲concat和append可以在第一個循環內完成,所以我會更快地完成任務。該集合是好的,但是不需要,因爲你丟棄它下面2行。 – lemil77
我想知道,如果像我們遍歷數組,我們可以遍歷一個結果。這裏可能沒有太大意義,但可能在別處有用。 –
是否要在結果集數據中設置逗號,還是其他內容? –
爲什麼你需要通過它的索引來訪問一個列,使得從'resultSet'中檢索到的那一列的行數是逗號分隔的字符串? – Lion