2012-03-03 4 views
0

안녕하세요 다음 코드에서는 테이블의 첫 번째 ID와 이름 만 인쇄합니다. 첫 번째 결과뿐만 아니라 쿼리의 모든 결과를 출력하려면 어떻게해야합니까? 감사자바 데이터베이스 MySQL

Statement stat = conn.createStatement(); 

stat.execute("CREATE TABLE Test (Id VARCHAR(20), Name VARCHAR(20))"); 
stat.execute("INSERT INTO Test VALUES ('1AA', 'John')"); 
stat.execute("INSERT INTO Test VALUES ('2AA', 'George')"); 
stat.execute("INSERT INTO Test VALUES ('3AA', 'Richard')"); 


ResultSet result = stat.executeQuery("SELECT * FROM Test"); 
result.next(); 
System.out.println(result.getString("Name")); 
System.out.println(result.getString("Id")); 
stat.execute("DROP TABLE Test"); 

답변

6

모든 결과를 반복하는 while 루프를 사용

... 
ResultSet result = stat.executeQuery("SELECT * FROM Test"); 
while(result.next()) { 
    System.out.println(result.getString("Name")); 
    System.out.println(result.getString("Id")); 
} 
stat.execute("DROP TABLE Test"); 
2

ResultSet는 더 많은 데이터 본있을 경우 next 방법은 표시를 제공하고, 반복자이다. 예를 들어

는 :

while(result.next()) { 
System.out.println(result.getString("Name")); 
} 
1

당신은 결과를 반복 할 필요가있다. 당신은 while 루프

while(result.next()) 
{ 
     System.out.println(result.getString("Name")); 
     System.out.println(result.getString("Id")); 
} 
을 사용할 수 있습니다
1
아래와 같이 쿼리의 결과를 모두 인쇄 된 ResultSet을 반복 할 수 있습니다

:

stat.execute("CREATE TABLE Test (Id VARCHAR(20), Name VARCHAR(20))"); 
    stat.execute("INSERT INTO Test VALUES ('1AA', 'John')"); 
    stat.execute("INSERT INTO Test VALUES ('2AA', 'George')"); 
    stat.execute("INSERT INTO Test VALUES ('3AA', 'Richard')"); 


    ResultSet result = stat.executeQuery("SELECT * FROM Test"); 

    while(result.next()) { 
     System.out.println(result.getString("Name")+"\t"+result.getString("Id")); 
     //OR 
     //System.out.println(result.getString(1)+"\t"+result.getString(2)); 
    } 

    stat.execute("DROP TABLE Test"); 
관련 문제