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

前端 未结 1 1188
遇见更好的自我
遇见更好的自我 2020-12-04 01:15

I think I got it wrong at the \'resultset\'. My code for inserting data is :

ResultSet columns = statement.executeUpdate(\"INSERT INTO Feedback (Username, Fe         


        
相关标签:
1条回答
  • 2020-12-04 01:23

    Statement#executeUpdate() doesn't return a ResultSet, but an int representing the affected rows. Fix it as follows.

    int affectedRows = statement.executeUpdate(sql);
    

    Or if you aren't interested in the amount of affected rows, just ignore it.

    statement.executeUpdate(sql);
    

    By the way, the compilation error at its own is weird. Aren't you looking at the wrong line? The error tells that you're trying to assign an int result to a String, but your code shows that you're trying to assign int result to a ResultSet.


    That said and unrelated to your current problem, if user and msg are parts of user-controlled input, then this piece of code is prone to SQL injection attacks. I strongly recommend to replace Statement by PreparedStatement then. See also this tutorial how to use prepared statement.

    0 讨论(0)
提交回复
热议问题