当前位置:  技术问答>java相关

怎样实现模糊查询?请赐教!!!100分

    来源: 互联网  发布时间:2015-05-31

    本文导语:  我怎样才能实现模糊查询? 比如说我现在有四个变量:    String id=request.getParameter("txtStu_id").trim();    String name=request.getParameter("txtName").trim();    String grade=request.getParameter("dwnGrade").trim();    String department=request...

我怎样才能实现模糊查询?
比如说我现在有四个变量:
   String id=request.getParameter("txtStu_id").trim();
   String name=request.getParameter("txtName").trim();
   String grade=request.getParameter("dwnGrade").trim();
   String department=request.getParameter("dwnDepartment").trim();
   byte[] tmpbyte=id.getBytes("ISO8859_1");
   id=new String(tmpbyte);
   tmpbyte=name.getBytes("ISO8859_1");
   name=new String(tmpbyte);
   tmpbyte=grade.getBytes("ISO8859_1");
   grade=new String(tmpbyte);
   tmpbyte=department.getBytes("ISO8859_1");
   department=new String(tmpbyte);  
要实现在数据库中的模糊查询,要求是 1,四个变量为空时,查出所有记录,2,随便一个变量有值,查出含有此内容的所有记录。
  高手有礼了!



|
没理由呀,
四个与一个是一样的呀
String sql="select * from table"
if (id==null){
sql=sql+ "where id like '%"+id+"%'";}

|
String id=request.getParameter("txtStu_id");
   String name=request.getParameter("txtName");
   String grade=request.getParameter("dwnGrade");
   String department=request.getParameter("dwnDepartment");
   byte[] tmpbyte;
   if(id!=null)
   {
       tmpbyte=id.trim().getBytes("ISO8859_1");
       id=new String(tmpbyte);
    }

   if(name!=null)
   {
       tmpbyte=name.trim().getBytes("ISO8859_1");
       name=new String(tmpbyte);
    }

   if(grade!=null)
   {
       tmpbyte=grade.trim().getBytes("ISO8859_1");
       grade=new String(tmpbyte);
    }

   if(department!=null)
   {
       tmpbyte=department.trim().getBytes("ISO8859_1");
       department=new String(tmpbyte);
    }

   String sStr = "select * from tablename " ;
   String sCondition = "" ;
   if (id!=null&&!id.equals(""))
sCondition +=" and ( id like '%" + id + "%')";
   if (name!=null&&!name.equals(""))
sCondition += " and ( name like '%" + name + "%')";
   if (grade!=null&&!grade.equals(""))
sCondition += " and ( grade like  '%" + grade + "%')";
   if (department!=null&&!department.equals(""))
sCondition += " and ( department = '%" + department + "')";
   if (!sCondition.equals(""))
sStr +="where "+ sCondition.substring(5);

这样你先试一试,如果还不行的话,请你告诉我具体是什么情况。

|
String id=request.getParameter("txtStu_id")==null?"":(request.getParameter("txtStu_id").equals("null")?"":request.getParameter("txtStu_id").trim());
   String name=request.getParameter("txtName")==null?"":(request.getParameter("txtName").equals("null")?"":request.getParameter("txtName").trim());
   String grade=request.getParameter("dwnGrade")==null?"":(request.getParameter("dwnGrade").equals("null")?"":request.getParameter("dwnGrade").trim());
   String department=request.getParameter("dwnDepartment")==null?"":(request.getParameter("dwnDepartment").equals("null")?"":request.getParameter("dwnDepartment").trim());
   byte[] tmpbyte=id.getBytes("ISO8859_1");
   id=new String(tmpbyte);
   tmpbyte=name.getBytes("ISO8859_1");
   name=new String(tmpbyte);
   tmpbyte=grade.getBytes("ISO8859_1");
   grade=new String(tmpbyte);
   tmpbyte=department.getBytes("ISO8859_1");
   department=new String(tmpbyte);

   String sStr = "select * from tablename " ;
   String sCondition = "" ;
   if (!id.equals(""))
sCondition +=" and (id like '%" + id + "%')";
   if (!name.equals(""))
sCondition += " and ( name like '%" + name + "%')";
   if (!grade.equals(""))
sCondition += " and ( grade like  '%" + grade + "%')";
   if (!department.equals(""))
sCondition += " and ( department = '%" + department + "')";
   if (!sCondition.equals(""))
sStr +="where "+ sCondition.substring(5);

试试


|
构造SQL语句时根据这四个参数是否为空来构造不行吗?
如:
String sql="select * from tablename ";
String temp="";
if(id!=nul && !id.equals("")) {
  temp+=" id="+id;
}
if(name!=null && !name.equals("")) {
  if(temp.length

    
 
 

您可能感兴趣的文章:

  • 如何实现一个图片下拉列表的问题,请各位大侠不吝赐教,谢谢!!!
  • 一个关于JAVA多平台的实现问题,请高手赐教!
  • 既然是实现的Cloneable接口,应该是一样的啊!请不吝赐教。绝对给分。
  • 问:如何实现组合查询?
  • mysqli多查询特性 实现多条sql语句查询
  • php通过数组实现多条件查询实现方法(字符串分割)
  • 我想把csdn的论坛改成一个软件平台,另外增加数据查询功能,聊天功能,不知怎样实现比较好?我想用jbuider 7+SQL server实现,不知如何?
  • php实现12306余票查询、价格查询示例
  • Linq实现的简单查询的例子
  • 谁用过ejb 进行模糊查询???语句怎么写???能实现根据中间的字符串进行模糊查找么?
  • python实现DNS正向查询、反向查询的例子
  • 要实现同样的一个问题,例如数据库的查询操作,并将结果返回到页面中,在Servlet与JavaBean中都可以写相同的数据库查询操作的代码,那么
  • 数据库查询分页技术实现,java 类 Vector() 在哪个包下?
  • 怎样实现汉字的拼音首字母查询!(在线等待)
  • c# 天气预报查询(winform方法)的实现代码(图文)
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • MySql实现跨表查询的方法详解
  • sql函数实现递归查询示例
  • MySQL单表多关键字模糊查询的实现方法
  • 动态生成的查询条件其参数传递如何实现?
  • php下巧用select语句实现mysql分页查询
  • 达人请进来~如何用脚本实现批量查询IP的地理位置
  • MySQL 查询结果以百分比显示简单实现
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • socket实现多文件并发传输,求助多线程实现问题?
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • interface 到底有什么用???实现接口,怎么实现??
  • 通过javascript库JQuery实现页面跳转功能代码
  • 怎么用Jsp实现在页面实现树型结构?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • php实现socket实现客户端和服务端数据通信源代码
  • 网站重定向用C语言实现iptables,ACL实现
  • flash AS3反射实现(describeType和getDefinitionByName)
  • 在linux下如何编程实现nslookup命令实现的IP地址和域名互相转换的功能?
  • boost unordered_map和std::list相结合的实现LRU算法
  • 求在freebsd+Squid下实现pc上网的透明代理的实现方法!给出具体配置方法的高分谢!
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 一个关于JAVA多平台的实现问题,请高手赐教! iis7站长之家
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • qt如何实现:操作键盘实现数据的滚动?
  • iphone cocos2d 精灵的动画效果(图片,纹理,帧)CCAnimation实现
  • 我想用APPLET实现读取客户端的图片文件,该如何实现?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • PING是用TCP,还是用UDP来实现的?或是采用其它协议实现的?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3