2015-11-04 106 views
-2
public ResultSet updateSql(String sql) throws SQLException { 
    Statement sta = conn.createStatement(); 
    return sta.executeUpdate(sql); 
} 

这是机能的研究在听众conn将类型不匹配:不能从int转换为结果

但听者错误

return sta.executeUpdate(sql); 

类型不匹配:不能从int转换为结果

+0

你检查什么 “的executeUpdate” 回报? – Stultuske

+0

http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html – Stultuske

+1

您的文章标题真的很难阅读,并会甩开潜在的回复。请修正拼写/语言错误,并将其作为一个清晰,简洁的标题,它会帮助您获得答案。 – Buurman

回答

1
return sta.executeUpdate(sql); 

这会返回查询执行后受影响的行数,例如(INSERT/UPDATE/DELETE),即executeUpdate()的返回类型是整数。这不会返回任何结果集。当使用诸如SELECT查询之类的查询时,即当你必须从表格中拉出行时,使用ResultSet。从表中拉出后,它放置在ResultSet中以便在java中进一步处理。

这就是为什么错误显示:

Type Missmatch : cannot convert from Int to ResultSet 
+0

感谢您的答案btw,这是几分钟前的工作。 –

+0

很高兴帮助。如果有帮助,也不要忘记检查答案。谢谢 :) – anishroniyar

1
public int updateSql(String sql) throws SQLException { 
    Statement preparedStatement = conn.prepareStatement(toString(), Statement.RETURN_GENERATED_KEYS); 
    return preparedStatement.executeUpdate(sql); 
} 
相关问题