你这是个循环判断,你保证每一次循环flag的布尔值多是一样的(true)?
如果有true有false,那一定会弹出警告。

解决方案 »

  1.   

    恩,楼上的点醒了我,我在sql语言改进了下,能保证都是ture;但现在又出现新的问题:
    就是if语句只能执行flag为true的语句;
    这下面的语句进不去,输入错误账号和密码也不会弹出警告,把break;去掉的效果也是一样。if(!flag)//如果没有则进行弹出警告!
    {
    out.println("<script language=\"JavaScript\">alert(\"您的账号或密码输入错误!\")</script>");break;//结束循环
    }
      

  2.   

    flag为true,if(!flag)分支当然进不去啊!
    按照程序逻辑,账号密码错误flag就应该是false,就应该能进入if(!flag)分支。
    你的数据没有问题吗?
      

  3.   

    String myID=request.getParameter("myID");
    String sql01="select ID,passwords from account where ID='"+myID+"'";
    ResultSet stuID=db.executeQuery(sql01);s_ID=stuID.getString("ID"); 
    s_Passwords=stuID.getString("passwords");
    boolean flag=(s_ID.equals(myID) && s_Passwords.equals(password));flag为true,if(!flag)分支进不去,是正常逻辑并且可以将数据打印出来没有任何异常。
    账号密码错误flag就应该是false,if(!flag)分支按道理就可以进去,但是无论是用else或是强制制造条件都无法进去,连里面的普通字符串都无法打印.这活忙乎了老半天了@~@
      

  4.   

    if(){}else{}  必然会进入其中一个。 这样不行吗? 打死我都不相信
      

  5.   

    boolean flag=(s_ID.equals(myID) && s_Passwords.equals(password));
    ============================
    这个password哪里来的?
      

  6.   

    也奇怪:if(){}else{} 进不去~out.println("<h1>test!</h1>");始终无法显示,而if为true的时候又可以正常打印数据库的信息!
                    if(flag)
    {
            %> <table border="1" align="center"> <%
                        ......
            %> </table> <%
    }
    else
    {
    out.println("<h1>test!</h1>");
    }
    }
    %>
      

  7.   

    说明 FLAG一直为TRUE啊   确认下  FLAG 是 BOOLEAN 类型吗~~如果不是  if(flag)
    就变成了判断flag存在与否的逻辑表达式了