Java 结果集不用于插入查询?错误消息:类型不匹配:无法从int转换为String
我想我在“结果集”上搞错了。我插入数据的代码是:Java 结果集不用于插入查询?错误消息:类型不匹配:无法从int转换为String,java,jdbc,Java,Jdbc,我想我在“结果集”上搞错了。我插入数据的代码是: ResultSet columns = statement.executeUpdate("INSERT INTO Feedback (Username, Feedbacks) VALUES( '" + user + "','"+ msg +"')"); 编译错误是: 类型不匹配:无法从int转换为String 您能帮助我吗?不返回结果集,而是返回一个表示受影响行的int。按如下方式修复它 int affectedRows = statement
ResultSet columns = statement.executeUpdate("INSERT INTO Feedback (Username, Feedbacks) VALUES( '" + user + "','"+ msg +"')");
编译错误是:
类型不匹配:无法从int转换为String
您能帮助我吗?不返回结果集,而是返回一个表示受影响行的int。按如下方式修复它
int affectedRows = statement.executeUpdate(sql);
或者,如果您对受影响行的数量不感兴趣,请忽略它
statement.executeUpdate(sql);
顺便说一下,编译错误本身就很奇怪。你看错线了吗?错误表明您正在尝试将int结果分配给字符串,但代码显示您正在尝试将int结果分配给ResultSet
也就是说,如果user和msg是用户控制输入的一部分,那么这段代码很容易出错。我强烈建议在那个时候替换这个声明。另请参阅如何使用准备好的语句。不返回结果集,而是返回表示受影响行的int。按如下方式修复它
int affectedRows = statement.executeUpdate(sql);
或者,如果您对受影响行的数量不感兴趣,请忽略它
statement.executeUpdate(sql);
顺便说一下,编译错误本身就很奇怪。你看错线了吗?错误表明您正在尝试将int结果分配给字符串,但代码显示您正在尝试将int结果分配给ResultSet
也就是说,如果user和msg是用户控制输入的一部分,那么这段代码很容易出错。我强烈建议在那个时候替换这个声明。另请参阅如何使用事先准备好的声明。非常感谢它的有效性,我是如此的愚蠢,而你是我的救世主和杰出的救世主!!!谢谢你的快速回复!是的,起初我认为*编译错误很奇怪,但当我搜索它时,我发现有人有同样的问题,还有人提到ResultSet诸如此类,我真的不明白。我要插入的所有数据都不是整数。所以,当你提到executeUpdate不返回结果集,你说“忽略它”时,我试着删除结果集,结果成功了!哈哈哈,这真是太棒了,我真是太蠢了,你真聪明,我的救世主!!!谢谢你的快速回复!是的,起初我认为*编译错误很奇怪,但当我搜索它时,我发现有人有同样的问题,还有人提到ResultSet诸如此类,我真的不明白。我要插入的所有数据都不是整数。所以,当你提到executeUpdate不返回结果集,你说“忽略它”时,我试着删除结果集,结果成功了!哈哈