首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

PreparedStatement.setNull()的有关问题

2011-12-12 
PreparedStatement.setNull()的问题select*fromaaawhere(name?ornameisnull)and(code?orcodeisnull)sql

PreparedStatement.setNull()的问题
select   *   from   aaa   where   (name=?   or   name   is   null)   and   (code=?   or   code   is   null)

sql如上
参数来自request.getParameter
参数name和code都有可能为空
写法1:
for   (int   t=0;t <paras.length;t++)
{
String   strPara   =   null;
if   (!paras[t].equals( " "))
{
strPara   =   paras[t];
}
out.println(strPara);
pstmt.setObject(t+1,strPara,Types.VARCHAR);
}
写法2:
for   (int   t=0;t <paras.length;t++)
{
if   (!paras[t].equals( " "))
{
pstmt.setString(t+1,paras[t]);
}
else
{
pstmt.setNull(t+1,Types.VARCHAR);
}
}

都不能出结果,为啥?

[解决办法]
如果paras数据长度不为2的话,很可能是由于参数索引位置设置不正确的问题!

热点排行
Bad Request.