当前位置:编程学习 > JAVA >>

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已经预编译过 --------------------编程问答--------------------
引用 6 楼 fudongrifdr 的回复:
对,executeQuery别带参数。。

对的。/
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,