编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

数据库模糊查询

数据库模糊查询

那位高手看一下,为什么以下代码只要加上传过来的参数就无法进行模糊查询呀,每次都是空的.但是我把问号手动的变为 '罗%'这种形式,它又能查询,什么原因呀,急求,谢谢.
public List queryLike(String con) throws Exception
    {
    
    
        String sql="select * from Student where name like ?";
        conDao cd=new conDao();
        List li=new ArrayList();
        ResultSet rs=null;
        PreparedStatement pst=null;
        try{
            pst=cd.getCon().prepareStatement(sql);
            pst.setString(1,"%"+con+"%");
            rs=pst.executeQuery();
            while(rs.next())
            {
                Student stu=new Student();
                stu.setId(rs.getString(1));
                stu.setName(rs.getString(2));
                stu.setAge(rs.getInt(3));
                li.add(stu);
                
            }
               rs.close();
            pst.close();
            
            
        }catch(Exception e)
        {
            System.out.println("操作异常");
        }finally
        {
            cd.close();
        }
        return li;

    }

TOP

改为:
String sql="select * from Student where name like '%?%'";
...
pst.setString(1,con);
...

TOP

谢谢,像你这样做就可以了,不过为什么没法像我上边那样做呢??

TOP

我也遇到过这种情况,我感觉可能是语法的问题吧!

TOP

哦,谢谢

TOP

编码问题

编码问题 你的数据库编码跟页面参数编码不匹配
需要转码

TOP

发新话题