2013-12-11 24 views
0

我不能爲我的生命弄清楚爲什麼我不斷收到此錯誤:MySQL的JDBC語句方面的問題

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) FROM login' at line 1 

我一直在使用'周圍的表名試圖使用`...沒有作品。我能夠在計算機上執行完全相同的SQL,並且它可以工作,當程序執行它時會失敗。我只是檢查一下表是否爲空(儘管當我試圖從表中提取數據時,也得到相同的錯誤)。我試過使用(*)和*以及 - 仍然得到錯誤。也嘗試過和沒有; - 相同的結果。

代碼:

public boolean tableIsEmpty(String Table) 
{ 
    String Query = "SELECT COUNT (*) FROM "+Table+";"; 

    try{ 
     rs = st.executeQuery(Query); 

     rs.next(); 

     int count = rs.getInt(1); 

     if(count > 0) 
     { 
      return false; 
     } 
     else{ 
      return true; 
     } 
    }catch(SQLException ex){ 
     Logger.getLogger(DatabaseConnector.class.getName()).log(Level.SEVERE, null, ex); 
     return false; 
    } 
} 

記得使用PostgreSQL之前有類似的問題,但我說'和它的工作。這是我第一次通過Java使用MySQL,但無法弄清楚。

謝謝!

+0

嘗試刪除COUNT和支架之間的空間。不知道這是否是問題,儘管 – codingbiz

+0

'SELECT COUNT(*)FROM login;'[注意空格或缺少空格](http://dev.mysql.com/doc/refman/5.1/en/counting- rows.html) –

+0

謝謝你們做到了。我從來不會想到這一點。 – Doug

回答

1
String Query = "SELECT COUNT (*) FROM "+Table+";"; 

以上應該是

String Query = "SELECT COUNT(*) FROM "+Table; 
          ^^    ^^ 
          ||    || 
         // space removed ; removed