Problem z zapisem obiektów w kolekcji

0

Witam Was,

poniżej prezentuje metodą z klasy DAO, która pobiera dane z bazy, tworzy na ich podstawie obiekt i dodaje go do kolekcji.

public List<Answer> getAllAnswer(Integer subId) {
		
		List<Answer> answers = new ArrayList<Answer>();
		Answer oneanswer= null;
		
		try {
			PreparedStatement stmt = polaczenie.prepareStatement("SELECT * FROM main_answer WHERE subjectid = ?");
			stmt.setInt(1, subId);
			stmt.execute();
			ResultSet rs = stmt.getResultSet();
			if (rs.next()) {
				oneanswer= new Answer();
				UserDAO userDAO = new UserDAO();
				User oneuser = userDAO.getSingleUser(rs.getInt("user_iuser"));
				SubjectDAO subjectDAO= new SubjectDAO();
				Subject onesubject = subjectDAO.getSingleSub(rs.getInt("subjectid"));
				oneanswer.setId(rs.getInt("id"));
				oneanswer.setAnswer(rs.getString("answer_stext"));
				oneanswer.setSub(onesubject);
				oneanswer.setUser(oneuser);
				answers.add(oneanswer);
			}
			return answers;
		} catch (SQLException e) {
			e.printStackTrace();
			return null;
		}
}

Mam taki problem z tą metoda, że do kolekcji zapisuje mi tylko jeden obiekt "Answer" ( w bazie jest ich 9). Może precyzyjniej: jak debuguje to widzę, że kolekcja składa się z 9 obiektów, pierwszy jest prawidłowy ale pozostałem to null.

Nie mam zielonego pojęcia dlaczego tak się dzieje.

Z góry dziękuje za pomoc.

Pozdrawiam

1

Może dlatego, że masz if zamiast while?

0

No jasne...

Dzięki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1