在结果集之后使用If-Else

时间:2018-08-08 19:39:00

标签: java database jsp if-statement resultset

我已经在.jsp文件中创建了此文件。 当我运行它时,我的if else语句不起作用。 它运行没有错误,但是if else语句未实现。 如何从db中检索数据,然后使用if else语句形式的检索数据进行检查。 数据库表具有两列值Orderid和dstatus列。

<html>
    <head>
       <body>
       <div class="button_box2">
           <form action="trackingtest.jsp" method="POST">
              <input type="text" name="Orderid" placeholder="Enter Order ID here..." required>
              <button type="submit">Search</button>
           </form>
       </div>
    </body>

<%! public class track {

        Connection connection = null;
        PreparedStatement ps = null;
        ResultSet rs = null;

        public track() {
            try {
                connection = DBConnector.getConnection();

                ps = connection.prepareStatement("select * from Payroll.status where Orderid = ?");
                rs = ps.executeQuery();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        public ResultSet gettrack(String Orderid) {
            try {
                ps.setString(1, Orderid);
                rs = ps.executeQuery();
            } catch (Exception e) {
                e.printStackTrace();
            }

            return rs;
        }
    }
%>

<%
    String Orderid = new String();

    if (request.getParameter("Orderid") != null) {
        Orderid = request.getParameter("Orderid");
    }

    track t1 = new track();
    ResultSet rs = t1.gettrack(Orderid);
%>

    <%
        while (rs.next()) {

            String Status = rs.getString("dstatus");

            if (Status.equals("Processing")) {
                System.out.print(Status + "1");

            } else if (Status.equals("Out")) {

                System.out.print(Status + "2");

            } else if (Status.equals("Delivered")){
                System.out.print(Status + "3");

            } 
        }
    %>

    </body>

    </html>

2 个答案:

答案 0 :(得分:0)

您尝试在rs.next()返回false之后获得下一个结果。如您在doc中所见 “ rs.getString(” dstatus“);”抛出错误,因为您想获取不存在的记录

答案 1 :(得分:0)

您正在尝试获取不存在的数据,或者可能未加载数据,请确保是否在结果集中执行了sql查询