2011-05-05 83 views
2

在下面標記的行上獲取錯誤。有任何想法嗎?JDBC給我參數索引超出範圍(1>參數數量爲0)

  ... 
      int hash = ConsistantHash.hash(name); 
      query = "INSERT INTO `server_info` (`host`, `port, `s_port`, `name`, `hash`) VALUES (?, ?, ?, ?, ?)"; 

      statement = connection.prepareStatement(query, Statement.RETURN_GENERATED_KEYS); 
      statement.setString(1, host); //this line 
      statement.setInt(2, c_port); 
      statement.setInt(3, s_port); 
      statement.setString(4, name); 
      statement.setInt(5, hash); 

      statement.executeUpdate(); 
      statement.close(); 
+0

你任何機會在其他地方重複使用相同的'statement'變量/其他線程? – 2011-05-05 01:22:29

回答

6

你缺少端口列的匹配逃生:

`port 

應該

`port` 
+0

+1,不錯。 – 2011-05-05 00:22:46

+0

這是很難捉住。我在這上面花了20分鐘。 LOL – Jonah 2011-05-05 02:15:00

+0

非常感謝你btw – Jonah 2011-05-05 02:17:33

相關問題