2013-07-22 34 views
0

我有一個表'admin'.But數據庫,但目前只是創建表沒有任何values.table列是user_name和password.My的動機是檢查表是否爲空或不。我正在使用MySQL數據庫。我試着下面的代碼,它的失敗。請幫助我。如何檢查數據庫表是否爲空

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

如果你只需要檢查表,那麼你應該使用查詢:

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

獲得更好的性能。 並從ResultSet中獲取行計數以檢查表是否爲null。

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

'count(*)'在某些引擎中表現不佳,其中包括Inno,這是目前的默認設置。 – yshavit

+0

如果您選擇單個行(「限制1」),並且檢查以確保獲得某些東西,您會更加安全。 –