我想将ResultSet
转换为字符串。我已经尝试了一切,但它总是没有找到数据。请提供一些解决方案
答案 0 :(得分:2)
试试这个:
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
映射到其类具有Object#toString()
覆盖的Javabeans集合。
E.g。
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);
}
至于你的实际的问题(你显然有一个“没有找到数据”的例外),你需要提供堆栈跟踪和导致这个问题的代码片段,以便你我会得到更合适的答案。
答案 1 :(得分:0)
尝试覆盖toString()
方法并根据需要实现返回的String
。
答案 2 :(得分:0)
无法说没有代码,但是如果您尝试在“tx_content”字段中检索数据,请尝试获取“TX_CONTENT” - 有时大写/小写会产生影响。