大家好,我这个sql里边用了一个 not in 里边的参数是我直接拼进去的 如果我 要是用 ” ?“ 绑定变量的话 就不能执行sql ,出错,有哪位大侠能帮帮我吗 ?
用 ”? “ 绑定变量传递进去 的方法 。。谢谢了
String sql ="from UserAccountInfo where tk3=? and lockendtime>? and no not in ("+ss+")";
q = session.createQuery(sql1);
q.setString(0, users);
q.setDate(1, new Date()); 用 “?”的话 q.setxxxx()什么类型的参数呢 这个ss 是多个 id
用 ”? “ 绑定变量传递进去 的方法 。。谢谢了
String sql ="from UserAccountInfo where tk3=? and lockendtime>? and no not in ("+ss+")";
q = session.createQuery(sql1);
q.setString(0, users);
q.setDate(1, new Date()); 用 “?”的话 q.setxxxx()什么类型的参数呢 这个ss 是多个 id
no是什么类型q.setxxxx()就是什么类型啊
这里边的 no是long类型的 但是 in里边要放多个long行的no ss的形式应该是这样的 例如 :
564525,566988,224447,5488544.。。可以多个的
q.setDate(1, new Date());
q.setLong(2, ss);这个会报错的 哪位大侠帮帮忙吧
StringBuffer sBuffer = new StringBuffer();
for(int i = 0;i < params.length ;i++){
sBuffer.append("?").append(",");
}
sBuffer.deleteCharAt(sBuffer.length()-1);String sql ="from UserAccountInfo where tk3=? and lockendtime>? and no not in ("+sBuffer.toString()+")"; q = session.createQuery(sql1);
q.setString(0, users);
q.setDate(1, new Date());
if(params!=null&¶ms.length>0){
for(int i = 0;i < params.length ;i++){
q.setParameter(i+2, params[i]);
}
}
StringBuffer sBuffer = new StringBuffer();
for(int i = 0;i < params.length ;i++){
sBuffer.append("?").append(",");
}
sBuffer.deleteCharAt(sBuffer.length()-1); String sql ="from UserAccountInfo where tk3=? and lockendtime>? and no not in ("+sBuffer.toString()+")"; q = session.createQuery(sql1);
q.setString(0, users);
q.setDate(1, new Date());
if(params!=null&¶ms.length>0){
for(int i = 0;i < params.length ;i++){
q.setLong(i+2, params[i]);
}
}