【问题标题】:Using If - Else after resultSet在 resultSet 之后使用 If - Else
【发布时间】:2018-08-08 19:38:59
【问题描述】:

我在 .jsp 文件中创建了它。 当我运行它时,我的 if else 语句无法正常工作。 它运行没有错误,但 if else 语句没有得到实现。 如何从数据库中检索数据,然后以 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>

【问题讨论】:

    标签: java database jsp if-statement resultset


    【解决方案1】:

    您尝试在 rs.next() 返回 false 后获得下一个结果。正如您在doc 中看到的那样 "rs.getString("dstatus");"抛出错误,因为您想获取不存在的记录

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-01-04
        • 1970-01-01
        • 2013-10-13
        • 2011-03-16
        • 2015-09-14
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多