<table align=center><tr>
<td>姓名:</td>
<td><input type="text" name="name" id="name"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="text" name="password" id="password"></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age" id="age"></td>
</tr>
<tr>
<td><input type="submit" value="查询"></td>
<td><input type="reset" value="重置"></td>怎么实现只输入姓名能够查询,输入姓名、密码两个也可以查,三个全输入也可以查。可能提问有点不清楚,就是怎么样实现多条件查询。请各位大侠们帮帮忙

解决方案 »

  1.   

    既然是查询就要自己组装SQL了,你在页面上应该有form的就是你要提交到什么页面处理,看你的代码中没有form的。在form的action对应的页面,从request取得参数值 例如request.getParameter("name");然后判断是否为null或则空,当不为空时。把条件加进去就可以了。
      

  2.   

    if("".equals(name)&&name=null)
    {

    sql="SELECT * FROM person WHERE password="+"'"+password+"' and age = "+"'"+age+"'";
    }
    if("".equals(password))
    {

    sql="SELECT * FROM person WHERE name="+"'"+name+"' and age = "+"'"+age+"'";
    }
    if("".equals(age))
    {

    sql="SELECT * FROM person WHERE name="+"'"+name+"' and password = "+"'"+password+"'";
    }
    if(!(name==null&&password==null))
    {

    sql="SELECT * FROM person WHERE age="+"'"+age+"'";
    }
    if(!(name==null&&age==null))
    {

    sql="SELECT * FROM person WHERE passwrod="+"'"+password+"'";
    }
    if(!(password==null&&age==null))
    {

    sql="SELECT * FROM person WHERE name="+"'"+name+"'";
    }
    if(!(name==null&&password==null&&age==null))
    {
    sql="SELECT * FROM person WHERE password="+"'"+password+"' and age = "+"'"+age+"' and name = "+"'"+name+"'";
    }这是我写的判断,可每次都执行SELECT * FROM person WHERE password="+"'"+password+"' and age = "+"'"+age+"' and name = "+"'"+name+"' 这是为什么呢?
      

  3.   

    sql=getSql(fieldname1,value1)+getSql(fieldname2,value2)+getSql(fieldname3,value3)public static String getSql(String fieldName,String value)
    {
      if  (value=="") 
      {
        return " 1=1 "; 
      }
      else
      {
         return fieldName+"="+setQuotedStr(value);
       } 
    }
    public static String setQuotedStr(String value)
    {
      return "\""+value+"\"";
    }
      

  4.   

    你的条件判断有问题
    比如
    "".equals(name)&&name=null既然是""那么就绝对不是null   你用&&它们必须同时满足是才会返回true   然而这个条件是不可能成立的
      

  5.   

    忘了,
    String conStr=" and ";
    getSql()+conStr+getSql();