나는 MySQL 데이터베이스에서 데이터를 검색하기 위해 자바로 애플리케이션을 만들고있다. 쿼리를 실행 한 후 나는의 ResultSet을 얻고 레코드를 추출하려면 다음을 수행하십시오Java에서 MySQL의 레코드를 가져 오는 것
while (rs.next())
{
for (int column = 1; column <= rm.getColumnCount(); column++) {
row.add(rs.getObject(column));
}
result.add(row.toString());
row.clear();
}
곳 RS = ResultSet의 및 RM = ResultSetMetaData에
문제는 내가 결과를해야 할 것입니다. add (row.toString());이 아니라 단지 result.add (row); (2 차원 ArrayList를 만들고 싶습니다). 그렇지 않으면 빈 결과가 나타납니다.
나는두기를 시도했다 row.clear(); 처음에, 의 앞에 루프가 있지만, 모든 결과가 마지막 레코드의 여러 인스턴스로 채워집니다. 행은 결과에에 추가되지 않았지만 마지막 레코드와 같을 때까지 끝납니다. 다른 ArrayList에 elemt를 추가하기 전에 ArrayList 행을 "커밋"해야합니까? 그렇다면 어떻게? 또한 호기심 때문에 .toString()이 (가)과 다르게 작동합니까?
좋아요, 그래서 기본적으로 result.add (row)는 "참조로 전달"과 같이 작동하지만 객체를 복사하지 않고 그냥 참조를 제공합니까? 고마워, 그게 내 문제를 해결 :) –