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

jsp模糊查询,该如何处理

2011-12-27 
jsp模糊查询定义了两个文本框初始值都没定义将这两个框的内容传入后台我点查询按钮时name文本框不填,id 填

jsp模糊查询
定义了两个文本框 初始值都没定义
将这两个框的内容传入后台
我点查询按钮时 name文本框不填 , id 填入 011
  做模糊查询 
得到这样一个语句
select * from table1 where name like ('%%') or id='011' 数据库为mysql name字段有空格
这样查询后把表中所有的结果都查询出来了 而我想要的结果只是 ID为011的 不知道要怎么调整文本框的值啊。
请各为赐教...

[解决办法]
select * from table1 where name like ('%') and id='011' 
把or 改成and
[解决办法]
用PreparedStatement试试,这种写法还有安全问题
[解决办法]
你可以这样判断
String sql = "select * from table1 where ";
 if (null==name && "".equals(name)){
id=‘011’
}else{
name like ('%%') and id='011'
}
不知道合不合你的要求。
[解决办法]
最好用if。。后面的id部分用正则表达式,通配符都可以,要不用case when then end,decode,nvl1...
[解决办法]
将数据库的name字段和网页上name字段分别去掉空格,
name的值:
name = TRIM(name文本框)。
select * from table1 where TRIM(name) = name and id='011' 
具体自己实现。

热点排行