<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>怎么实现只输入姓名能够查询,输入姓名、密码两个也可以查,三个全输入也可以查。可能提问有点不清楚,就是怎么样实现多条件查询。请各位大侠们帮帮忙
<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>怎么实现只输入姓名能够查询,输入姓名、密码两个也可以查,三个全输入也可以查。可能提问有点不清楚,就是怎么样实现多条件查询。请各位大侠们帮帮忙
{
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+"' 这是为什么呢?
{
if (value=="")
{
return " 1=1 ";
}
else
{
return fieldName+"="+setQuotedStr(value);
}
}
public static String setQuotedStr(String value)
{
return "\""+value+"\"";
}
比如
"".equals(name)&&name=null既然是""那么就绝对不是null 你用&&它们必须同时满足是才会返回true 然而这个条件是不可能成立的
String conStr=" and ";
getSql()+conStr+getSql();