当前位置: 代码迷 >> J2EE >> preparedStatement话语能不能传空值进去
  详细解决方案

preparedStatement话语能不能传空值进去

热度:308   发布时间:2016-04-17 23:51:18.0
preparedStatement语句能不能传空值进去?
比如语句是:
SELECT * FROM TABLE WHERE ID=? AND CLASS=? AND NAME=?

但是在检索的时候,并不强制要求输入,可能我只输入姓名“张三”,ID 和CLASS留空,这么一来检索语句就变成了:
SELECT * FROM TABLE WHERE ID='' AND CLASS='' AND NAME='张三'

就不符合我想要的检索结果了,如果非要用preparedStatement,该怎么做呢?
------解决方案--------------------
"SELECT * FROM TABLE WHERE  1=1  ? ? ? "


ps.set(1,"AND NAME='张三'") ;
ps.set(2,"") ;
ps.set(3,"") ;


------解决方案--------------------
ps.setNull(2);
------解决方案--------------------
ps.setNull(1,java.sql.Type.Integer);
ps.setNull(2,java.sql.Type.Integer);
------解决方案--------------------
置空~
------解决方案--------------------
 ps.setString(2, null);
ps.setNull(2, Types.NUMERIC);
------解决方案--------------------
引用:
置空~

同意
  相关解决方案