본문 바로가기
MySql

MySQL 2D 배열로 결과 집합

by 베이스 공부 2020. 12. 4.
반응형

방금 결과라는 결과 집합에 넣은 mysql 쿼리를 수행했습니다.

이제 2D 객체로 들어가서 나중에 쿼리 결과를 표시하는 데 사용할 수 있습니다.

while 루프를 만든 다음 배열에 넣어야하는 경우 어떻게해야할지 잘 모르겠습니다. 결과에 무언가가 있는지 테스트했습니다. txt 파일에 작성하십시오.

ResultSet result = stmt.executeQuery(sql);

내가 얻은 것은 다음과 같습니다.

int i =0;
        sqlresult = new String[result.getMetaData().getColumnCount()];
        while(result.next()){
            sqlresult[i] = result.getArray(sql);
            i++;
        }

그러나 이것은 계속 오류가 발생하고 유일한 1d 배열입니다.

 

해결 방법

 

이렇게하면 결과 집합에있는 행 수만큼 요소를 포함하는 2 차원 데이터 구조가 목록으로 제공되며 행의 각 열 값에 대한 문자열 값이 제공됩니다.

int nCol = result.getMetaData().getColumnCount();
List<String[]> table = new ArrayList<>();
while( result.next()) {
    String[] row = new String[nCol];
    for( int iCol = 1; iCol <= nCol; iCol++ ){
            Object obj = result.getObject( iCol );
            row[iCol-1] = (obj == null) ?null:obj.toString();
    }
    table.add( row );
}

// print result
for( String[] row: table ){
    for( String s: row ){
        System.out.print( " " + s );
    }
    System.out.println();
}

 

참조 페이지 https://stackoverflow.com/questions/24547406

 

 

반응형

댓글