从两个表获取数据的Java代码

时间:2012-10-16 19:38:32

标签: java sql

String pnumber = request.getParameter("pnumber");
          ResultSet rs = DAO.fetch("SELECT * FROM Products Where ProductNumber ='" + pnumber + "'");
          ResultSet r = DAO.fetch("SELECT * FROM ExpensiveProducts");

这里我从数据库中获取数据:

try {
            int v = Integer.parseInt(pnumber);

            if (pnumber.length() == 7) {

数据未通过此条件?

                while (rs.next()) {
                    String pn = rs.getString(3);
                    String pqty = rs.getString(4);
                    int qty = Integer.parseInt(pqty);

                    if (pn.equals(pnumber)) {

                        if (qty > 0) {
                            response.sendRedirect("Status.jsp?Status=Available");
                        } else {
                            response.sendRedirect("Status.jsp?Status=Not Available");
                        }

                    } else {


                        while (r.next()) {
                            String epn = r.getString(3);
                            String epp = r.getString(4);
                            out.print(pnumber);
                            out.print(epn);
                            if (epn.equals(pnumber)) {
                                response.sendRedirect("Status.jsp?Status=EAvailable");
                            } else {
                                response.sendRedirect("Status.jsp?Status=E NAvailable");
                            }
                        }
                        response.sendRedirect("Status.jsp?Status=Product number not exist");
                    }

                }
            } else {
                response.sendRedirect("Status.jsp?Status=test");
            }

1 个答案:

答案 0 :(得分:0)

你有一个rs.next()循环 - 这将为其中的每条记录迭代一次。

你正在看r.next()内部 - 这将是多少?

如果它们不完全匹配,那么您将无法访问数据。