2013-07-22 1 views
0

나는 테이블 'admin'But과 데이터베이스를 가지고 있습니다.하지만 현재 테이블을 생성하지 않는 모든 values.table 열은 user_name과 password.My 동기는 테이블이 비어 있는지 확인하는 것입니다 mysql 데이터베이스를 사용하고 있습니다. 다음 코드와 실패를 시도했습니다. 도와주세요. 성능 향상을 위해데이터베이스 테이블을 확인하는 방법은 null이 아니거나

String qry = "SELECT count(*) From admin "; 

: 당신은 단지 표를 확인해야하는 경우

public void nullCheck() { 

    PreparedStatement stmt = null; 
    ResultSet rs = null; 
    String qry = "SELECT * From admin "; 

    try { 
     stmt = (PreparedStatement) conn.prepareStatement(qry); 
     rs = stmt.executeQuery(); 

     boolean empty = true; 
     while(rs.next()) { 
      // ResultSet processing here 
      empty = false; 
     } 
     if(empty) { 
      Util.showWarningMessageDialog("null"); 
     } 
    } catch (SQLException ex) { 
     Logger.getLogger(RemoveFaculty.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 
+0

어떤 오류/예외가 발생합니까? – sanbhat

+0

어떤 오류가 발생 했습니까? – Jaguar

+0

테이블이 비 었는지 알고 싶다면보다 효율적인 쿼리는'SELECT id FROM admin LIMIT 1'입니다. 여기서'id'는'admin' 테이블의 PK 필드입니다. – yshavit

답변

0

당신은 쿼리를 사용해야합니다. 그리고 테이블이 null인지 확인하기 위해 ResultSet의 행 수를 얻습니다.

int count=0; 
while(rs.next()) 
{ 
    count=rs.getInt("count"); 
} 
+1

'count (*)'는 요즘의 이노 (Inno)를 포함한 일부 엔진에서는 잘 작동하지 않습니다. – yshavit

+0

대신 단 한 줄 ('limit 1')을 선택하고 다시 무언가를 얻을 수 있는지 확인하는 것이 훨씬 안전합니다. –

관련 문제