2010-11-26 52 views

回答

4

Statement#executeUpdate()不返回ResultSet,而是代表受影響的行的int。修復如下。

int affectedRows = statement.executeUpdate(sql); 

或者如果您對受影響行的數量不感興趣,請忽略它。

statement.executeUpdate(sql); 

順便說一句,在自己的編譯錯誤是怪異。你不是在看錯線嗎?該錯誤告訴您試圖將int結果指定給String,但是您的代碼顯示您試圖將int結果指定給ResultSet


這就是說和無關到當前的問題,如果usermsg是用戶控制的輸入的部分,那麼這一段代碼是容易發生SQL injectionattacks。我強烈建議用PreparedStatement替換Statement。另請參閱this tutorial如何使用預準備語句。

+0

感謝百萬IT工作,我是如此血腥愚蠢,你是我的倖存者!感謝您的快速回復! – Dayne 2010-11-26 02:39:43

相關問題