if和else语句都在While循环中执行

时间:2015-11-18 13:26:50

标签: java

以下是我的代码。 if和else语句都被执行了。有人可以帮助我。

Statement st = con.createStatement();
String sql = "Select Attribute from attribute";
ResultSet rs = st.executeQuery(sql);
while(rs.next()) {
    if(Message.contains(rs.getString("Attribute")) || Subject.contains(rs.getString("Attribute")) == true) {
        response.sendRedirect("User_Send.jsp?auth=1");                              
    } else {
        Statement st2 = con.createStatement();
        String query = "insert into Message(Username,REmail,Subject,Message,Date,Status) values('"+ Username +"','" + To + "','" + Subject + "','" + Message + "','" + Date + "','" + "Done" + "')";
        int i = st2.executeUpdate(query);
        if(i!=0) {
            out.println("<h1 style='text-align:center;color:Red'>Message Sent Successfully</h1>");
        }                            
    }
}

3 个答案:

答案 0 :(得分:1)

如果您有多个结果,ifelse子句都将被执行,并且每个子句至少有一个结果条件。

如果您需要更多帮助,您需要告诉我们发生了什么,而不是您认为正在发生的结果。

答案 1 :(得分:0)

  • 在while。
  • 之外声明一个布尔标志
  • 如果
  • 设置为true
  • 在检查那个标志后
  • 如果真的那么重定向。

答案 2 :(得分:0)

这是因为在某些迭代中if语句为true,有时则为false并转到else语句。它不可能同时存在。

我强烈建议您调试它,如果您现在不知道如何调试入门,因为如果您无法调试,您将无法成为一名优秀的程序员。