itsource

JDBC ResultSet에서 열 수를 가져오려면 어떻게 해야 합니까?

mycopycode 2022. 10. 15. 09:26
반응형

JDBC ResultSet에서 열 수를 가져오려면 어떻게 해야 합니까?

csv 파일에 액세스하기 위해 CsvJdbc(csv 파일용 JDBC 드라이버)를 사용하고 있습니다.csv 파일에 몇 개의 열이 포함되어 있는지 알 수 없습니다.열 수는 어떻게 얻을 수 있나요?이것에 대해 JDBC 기능이 있습니까?java.sql에서 이 메서드를 찾을 수 없습니다.결과 세트

파일에 액세스 할 때는, CsvJdbc Web 사이트의 예시와 같은 코드를 사용합니다.

ResultSetMetaData에서 열 번호를 얻을 수 있습니다.

Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();

int columnsNumber = rsmd.getColumnCount();
PreparedStatement ps=con.prepareStatement("select * from stud");

ResultSet rs=ps.executeQuery();

ResultSetMetaData rsmd=rs.getMetaData();

System.out.println("columns: "+rsmd.getColumnCount());  
System.out.println("Column Name of 1st column: "+rsmd.getColumnName(1));  
System.out.println("Column Type Name of 1st column: "+rsmd.getColumnTypeName(1)); 

결과 집합에서 코드와 함께 얻을 수 있는 열 수(DB가 Postgre를 사용하므로)SQL):

//Postgre용 드라이버 로드SQLClass.forName("org.postgresql")드라이버";

문자열 URL = "jdbc:postgresql://localhost/test";속성 소품 = 새 속성();frops.setProperty("user", mydbuser");
frops.setProperty("password", mydbpass");
Connection conn = DriverManager.getConnection(url, 소품);

//문 작성스테이트먼트 stat = conn.createStatement();
//결과 세트 표시ResultSet rs = stat.executeQuery("SELECT c1, c2, c3, c4, c5 FROM MY_TABLE");
//결과 집합에서 메타데이터 제공ResultSetMetaData rsmd = rs.getMetaData();
//메타데이터 개체에서 개수 가져오기int num Of Cols = rsmd.get Column Count();

그러나 열에 대한 더 많은 메타 정보를 얻을 수 있습니다.

for(int i = 1; i <= numOfCols; i++)
{
    System.out.println(rsmd.getColumnName(i));
}

또한 테이블뿐만 아니라 DB에 대한 정보도 얻을 수 있습니다. 방법은 여기와 여기를 참조하십시오.

연결을 확립하고 쿼리를 실행한 후 다음 작업을 수행합니다.

 ResultSet resultSet;
 int columnCount = resultSet.getMetaData().getColumnCount();
 System.out.println("column count : "+columnCount);

그러면 데이터가 열로 인쇄되고 마지막 열에 도달하면 새 행이 나타납니다.

ResultSetMetaData resultSetMetaData = res.getMetaData();
int columnCount = resultSetMetaData.getColumnCount();
for(int i =1; i<=columnCount; i++){
                if(!(i==columnCount)){

                    System.out.print(res.getString(i)+"\t");
                }
                else{
                    System.out.println(res.getString(i));
                }

            }

언급URL : https://stackoverflow.com/questions/2614416/how-to-get-the-number-of-columns-from-a-jdbc-resultset

반응형