Я хочу преобразовать набор результатов в строку. Я перепробовал все, но он всегда не дает никаких данных. Пожалуйста, предоставьте какое-нибудь решение - PullRequest
3 голосов
/ 23 февраля 2010

Я хочу преобразовать ResultSet в строку. Я перепробовал все, но он всегда не дает никаких данных. Пожалуйста, предоставьте какое-нибудь решение

Ответы [ 3 ]

2 голосов
/ 21 марта 2010

Попробуйте это:

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 с коллекцией Javabeans, класс которой имеет переопределение Object#toString().

1010 * Е.Г. *

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);
}

Что касается вашей фактической проблемы (по-видимому, вы получили исключение со словами «данные не найдены»), вам потребуется предоставить трассировку стека и фрагмент кода, который вызвал это, так что вы ' получу ответы лучше подходящие.

0 голосов
/ 23 февраля 2010

Невозможно сказать без кода, но если вы пытаетесь получить данные в поле "tx_content", попробуйте получить "TX_CONTENT" - иногда верхний / нижний регистр имеет значение.

0 голосов
/ 23 февраля 2010

Попробуйте переопределить метод toString() и реализуйте возвращенный String как хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...