2012-01-21 37 views
0

我正在MySQL數據庫上運行查詢,我正在使用JDBC並且正在使用MySQL工作臺來運行查詢。當我在MySQL工作臺中運行我的查詢時出現JDBC錯誤但沒有錯誤

當我在MySQL工作臺上運行它時,我得到了我期待的,但是當我在我的代碼中運行它時,我得到了它。

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL語法錯誤;檢查對應於你的MySQL服務器版本在1號線

這裏附近使用「選擇Character.CharacterID,Character.CharacterName,Characte」正確的語法手冊在Java:

for (int i = 0; i < 3; i++) { 
    try { 
     result = s.executeQuery("USE `arbitrary-hero`; SELECT `Character`.CharacterID, `Character`.CharacterName, `Character`.CharacterLevel, SUM(ItemAttack), SUM(ItemHealth), SUM(ItemAgility), " 
       + "SUM(ItemStrength), SUM(ItemSource) FROM `arbitrary-hero`.`Character` INNER JOIN `arbitrary-hero`.Character_Items ON `Character`.CharacterID = Character_Items.CharacterID INNER JOIN " 
       + "Items ON Character_Items.ItemID = Items.ItemID WHERE Character_Items.Equiped = 1 and `Character`.CharacterName = "+ name[i] +" GROUP BY `Character`.CharacterName;;"); 
     } 
     catch(Exception e) { 
      System.out.println(e); 
     } 
    } 
    s.close(); 

這裏是SQL:

SELECT `Character`.CharacterID, `Character`.CharacterName, `Character`.CharacterLevel, SUM(ItemAttack), SUM(ItemHealth), SUM(ItemAgility), SUM(ItemStrength), 
SUM(ItemSource) FROM `arbitrary-hero`.`Character` INNER JOIN `arbitrary-hero`.Character_Items ON 
`Character`.CharacterID = Character_Items.CharacterID INNER JOIN Items ON 
Character_Items.ItemID= Items.ItemID WHERE Character_Items.Equiped = 1 and `Character`.CharacterName = "Maxinfet" GROUP BY `Character`.CharacterName; 

回答

3

不知道,但我認爲你不能使用兩個SQL命令在一起,所以分號後的一切是錯誤的。

+0

Dor說得對。每個'executeQuery'方法調用一個SQL語句,請。順便說一下,您應該通過連接字符串來選擇mySQL數據庫(在USE語句中提到的數據庫)。 –

+0

謝謝,只有一條SQL語句解決了這個問題。 –

相關問題