Ответы пользователя по тегу Мобильная разработка
  • Как из бд достать данные в HashMap?

    @coden55
    Использую для себя 3 метода, на вход берут результат запроса к бд:
    1. Таблицу в ArrayList с Hashmap (что вам надо)
    2. Первую колонку в ArrayList
    3. Первую строку в HashMap

    Под android надо немного переписать их.

    private ArrayList<HashMap<String, Object>> resultSetToArrayList(ResultSet rs) throws SQLException {
            ResultSetMetaData md = rs.getMetaData();
            int columns = md.getColumnCount();
            ArrayList<HashMap<String, Object>> list = new ArrayList<>();
            while (rs.next()) {
                HashMap<String, Object> row = new HashMap<>(columns);
                for (int i = 1; i <= columns; ++i) {
                    row.put(md.getColumnName(i), rs.getObject(i));
                }
                list.add(row);
            }
            return list;
        }
    
        private ArrayList<Object> resultSetGetColToArrayList(ResultSet rs) throws SQLException {
            ArrayList<Object> list = new ArrayList<>();
            while (rs.next()) {
                list.add(rs.getObject(1));
            }
            return list;
        }
    
        private HashMap<String, Object> resultSetGetRowToHashmap(ResultSet rs) throws SQLException {
            ResultSetMetaData md = rs.getMetaData();
            int columns = md.getColumnCount();
            HashMap<String, Object> row = new HashMap<>(columns);
            if (rs.next()) {
                for (int i = 1; i <= columns; ++i) {
                    row.put(md.getColumnName(i), rs.getObject(i));
                }
            }
            return row;
        }
    Ответ написан
    Комментировать