ResultSet不适用于INSERT查询?错误消息:类型不匹配:无法从int转换为String

时间:2010-11-26 02:25:21

标签: java jdbc

我认为我在'结果集'中弄错了。我插入数据的代码是:

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

编译错误是:

  

类型不匹配:无法从int转换为String

你能帮助我吗?

1 个答案:

答案 0 :(得分:4)

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

int affectedRows = statement.executeUpdate(sql);

或者,如果您对受影响的行数量不感兴趣,请忽略它。

statement.executeUpdate(sql);

顺便说一句,编译错误本身就很奇怪。你不是在看错线吗?该错误表明您尝试将int结果分配给String,但您的代码显示您尝试将int结果分配给ResultSet


如果usermsg是用户控制输入的一部分,那么说明并与您当前的问题无关,那么这段代码很容易SQL injection attacks 。我强烈建议您将Statement替换为PreparedStatement。另请参阅this tutorial如何使用预准备语句。