我想将 ResultSet
转换为字符串。我什么都试过了,但总是找不到数据。请提供一些解决方案
最佳答案
试试这个:
StringBuilder builder = new StringBuilder();
int columnCount = resultSet.getMetaData().getColumnCount();
while (resultSet.next()) {
for (int i = 0; i < columnCount;) {
builder.append(resultSet.getString(i + 1));
if (++i < columnCount) builder.append(",");
}
builder.append("\r\n");
}
String resultSetAsString = builder.toString();
您可能需要对字符串格式进行一些位调整以满足您的需要。或者,您也可以将 ResultSet
映射到 Javabean 的集合,这些 Javabean 的类覆盖了 Object#toString()
。
例如
public class Row {
private Long id;
private String columnName1;
private String columnName2;
// Add/generate constructors, getters and setters.
public String toString() {
return String.format("Row[id=%d,columName1=%s,columnName2=%s", id, columnName1, columnName2);
}
}
与
List<Row> rows = new ArrayList<Row>();
while (resultSet.next()) {
Row row = new Row();
row.setId(resultSet.getLong("id"));
row.setColumnName1(resultSet.getString("columnName1"));
row.setColumnName2(resultSet.getString("columnName2"));
rows.add(row);
}
// To display it:
for (Row row : rows) {
System.out.println(row);
}
至于您的实际问题(您显然遇到了“未找到数据”字样的异常),您需要提供导致此问题的堆栈跟踪和代码片段,以便您会得到更合适的答案。
关于java - 我想将结果集转换为字符串。我什么都试过了,但总是找不到数据。请提供一些解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2317251/