簡體   English   中英

ResultSet不適用於INSERT查詢? 錯誤消息:類型不匹配:無法從int轉換為String

[英]ResultSet is not for INSERT query? Error message: Type mismatch: cannot convert from int to String

我認為我在'結果集'中弄錯了。 我的插入數據的代碼是:

ResultSet columns = statement.executeUpdate("INSERT INTO Feedback (Username, Feedbacks) VALUES( '" + user + "','"+ msg +"')");

編譯錯誤是:

類型不匹配:無法從int轉換為String

你能幫助我嗎?

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

int affectedRows = statement.executeUpdate(sql);

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

statement.executeUpdate(sql);

順便說一句,編譯錯誤本身就很奇怪。 你不是在看錯線嗎? 該錯誤告訴您正在嘗試將int結果分配給String ,但您的代碼顯示您正在嘗試將int結果分配給ResultSet


這說明與當前問題無關,如果usermsg是用戶控制輸入的一部分,那么這段代碼很容易受到SQL注入 攻擊 我強烈建議用PreparedStatement替換Statement 另請參閱本教程如何使用預准備語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM