我想将结果集转换为字符串.我已经尝试了所有方法,但始终找不到任何数据.请提供一些解决方案 [英] I want to convert a resultset to a string. I have tried everything but it always gives no data found. Please provide some solution
问题描述
我想将ResultSet
转换为字符串.我已经尝试了所有方法,但始终找不到任何数据.请提供一些解决方案
I want to convert a ResultSet
to a string. I have tried everything but it always gives no data found. Please provide some solution
推荐答案
尝试一下:
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();
您可能需要进一步调整字符串格式 bit 以满足您的需求.另外,您也可以将ResultSet
映射到其类具有Object#toString()
替代值的Javabeans集合.
You may need to tweak the string format a bit more to suit your needs. Alternatively, you can also map the ResultSet
to a collection of Javabeans whose class has the Object#toString()
overriden.
例如
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);
}
关于您的实际问题(您显然有一个找不到数据"字样的异常),您需要提供引起该问题的stacktrace和代码段,以便您会得到更合适的答案.
As to your actual problem (you apparently got an exception with the words "no data found"), you'll need to provide the stacktrace and the code snippet which caused this, so that you'll get better suited answers.
这篇关于我想将结果集转换为字符串.我已经尝试了所有方法,但始终找不到任何数据.请提供一些解决方案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!