2012-11-17 5 views
-3

mysql 명령 줄에 다음 명령을 입력하면 : 사용자 수를 선택하십시오. 제대로 작동합니다. 그것은 나에게 테이블의 크기를 준다.자바 파일에서 테이블 크기 찾기

그러나, 내가 자바로 작성 자바 file.Thus에 결과를 먹고 싶어은 code.But 아래는 내가 내 자바 테이블의 크기를 얻을 수있는 방법

public int f() 
{ 
    ResultSet rs; 
    int i; 
    String query = "select count(*) tables from users"; 
    Statement st = this.con.createStatement();  //error 
    rs = st.executeQuery(query);     //error 
    if(rs.next())      //error 
    {     //error 
    i = rs.getInt(1);      //error 
    } 
    return i; //error 
} 

작동하지 않는 파일 파일?

+1

'rs.GetInt (1)'? 쿼리가 제대로 작동합니까? –

+0

그것이 작동하지 않습니다. 이 줄에만 오류가 표시됩니다. i = rs.GetInt (1); – oiyio

+0

@ user1308990 resultSet에 GetInt()가 없으므로 getInt()가 컴파일러 오류입니다. 또한 테이블에서 데이터를 가져 오기 전에 rs.next()를 호출해야합니다. 내 대답을 아래에서 확인하십시오. – PermGenError

답변

3

resultSet에 next() 메소드를 사용하여 데이터가 있는지 확인한 적이 없습니다. ResultSet API 가입일

:

다음 방법

public int f() throws SQLException { 
//rest of your code 
rs = st.executeQuery(query); 
if(rs.next()){ 
i = rs.getInt(1); 
} 
//rest of your code 
} 

자바 대소 문자를 구별하지 GetInt()getInt() 방법도 ResultSet 한 다음 행으로 커서를 이동한다.

편집 : 당신이 처리해야하거나 코드에서 예외 : SQLException (체크 예외)를 선언합니다. Connection.createStatement()SQLException을 던집니다.

+0

Ok. getInt를 getInt로 변경했습니다. 그러나 이제 오류의 수는 증가했습니다. 나는 코드 – oiyio

+0

@ user1308990을 편집했다. SQLException을 처리해야한다. 내 편집을 확인하십시오 – PermGenError

+0

와우 !!!!!!! thats 내가 알아야하는 점!! 고마워, 친구. 나는 SQLException을 사용해야한다는 것을 몰랐다. 내가 맞습니까? SQLException을 사용하는 것이 필수입니까? 왜 그리고 어떤 상황에서? – oiyio