java中jdbc 带参数的查询
有没大神帮我看这段代码public List<Map<String, Object>> GetListMap(String sql,List<String> sqlValue) throws Exception
{
List<Map<String, Object>> list=new ArrayList<Map<String, Object>>();
PreparedStatement ps = this.getCurrentConnection().prepareStatement(sql);
if (sqlValue != null) {
for (int i = 0; i < sqlValue.size(); i++)
{
ps.setString(i + 1, sqlValue.get(i));
}
}
ResultSet rs = ps.executeQuery(sql);
没写完整
我传入select * from my_tb_movie where movieID =? and userID=? 同时也传了2个参数,可是为什么执行到最后一句报错呢? jdbc java sql --------------------编程问答-------------------- 什么错呢 --------------------编程问答-------------------- 类型不匹配把,你的sqlValue里的值是String类型的,但你的查询的参数都是Integer类型 ,把List<String> sqlValue 改为 List<Integer> sqlValue --------------------编程问答-------------------- 可能是类型不匹配吧 --------------------编程问答--------------------
你出错的原因可能是ResultSet rs = ps.executeQuery(sql); 这一句
改为ResultSet rs = ps.executeQuery();你在试试 前面你已经编译过了啊 --------------------编程问答-------------------- 错误都不贴出来?要大家猜么。。
上面输出sql
syso(sql);
ResultSet rs = ps.executeQuery(sql); --------------------编程问答-------------------- 对,executeQuery别带参数。。 --------------------编程问答-------------------- ResultSet rs = ps.executeQuery();改成这样就好了,sql已经预编译过 --------------------编程问答--------------------
对的。/
补充:Java , Java EE