我在表单那有两个text<input type="text" name="beginTime">
<input type="text" name="endTime">
提交后到另一个页面,想查询sendTime在beginTime和endTime之间的数据;如果beginTime没有,则查询小于endTime之前的数据;如果endTime没有,则查询大于beginTime之后的数据;如果两个都没有,则查询全部数据
可是单独执行sql都可以,放到if-else语句中后就不行,这是为什么啊??我以下的代码执行时,两者都有可以,只有endTime也可以,但只有beginTime和两者都没有时没有结果,if-else语句没有写错吧?想不通为什么不行,麻烦了~~~~~~<%
String beginTime=(String)request.getParameter("beginTime");
String endTime=(String)request.getParameter("endTime");
String sql;
if(beginTime==null||beginTime=="")
   beginTime="";
if(endTime==null||endTime=="")
   endTime="";
sql="select * from message";
if(beginTime!=""&&endTime!="")
   sql=sql+" where sendTime between '"+beginTime+"' and '"+endTime+"'";
else if(beginTime!="" and endTime=="")
   sql=sql+" where sendTime>'"+beginTime+"'";
else if(beginTime=="" and endTime!="")
   sql=sql+" where sendTime<'"+endTime+"'";
ResultSet rs;
rs=stmt.executeQuery(sql);
%>

解决方案 »

  1.   

    补充:数据库使用的是 MySQL5.0,服务器使用的是Tomcat5.5
    页面使用的是JSP文件
      

  2.   

    字符串比较,不要用“==”、“!=”,改为“equals”试试
      

  3.   


    先纠正一个问题
    if(beginTime=="" and endTime!="")中间怎么用的 AND
    你的IF条件写的有问题
    if(beginTime==null||beginTime=="")
    已经判断了
    后面还要用
     if(beginTime=="" && endTime!="")这肯定不行
      

  4.   

    我是要beginTime和endTime都有时,只有其中一个时,两者都没有时四种情况下都可以查询
    那个if-else没有问题
    按sheener所说,把“==”和“!=”改成  .equals后正确