возникли проблемы с получением математики для вычисления дебетов и кредитов в цикле Java в то время как - PullRequest
0 голосов
/ 04 декабря 2018

Я почти закончил с этой программой, но мне нужно, чтобы она отображала общий остаток средств на основе текущих кредитов и дебетов в этой записи транзакции в обеденном клубе.Я полагаю, что это должно быть в / около цикла while в коде, который я публикую.мой код прилагается.

public class ShowPurchasesServlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        String URL="/MemberScreen.jsp";
        String sql="", msg="", mo="", dy="", yr="", sqlwhere="";

        try {
            Member m = (Member) request.getSession().getAttribute("m");
            mo = request.getParameter("month");
            dy = request.getParameter("day");
            yr = request.getParameter("year");
            if (mo.isEmpty() || dy.isEmpty() || yr.isEmpty()) {
                sqlwhere = "";
            } else {
                sqlwhere = yr + " " + mo + " " + dy;
            }

            sql = "SELECT p.MemID, p.PurchaseDt, p.TransType, p.TransCd, " +
                    " c.TransDesc, p.amount" + 
                    " FROM tblPurchases p, tblCodes c " +
                    " WHERE p.TransCd = c.TransCd " + 
                    "   AND p.MemID = ? "; 
            if  (!sqlwhere.isEmpty()) {
                sql += " AND p.PurchaseDt >= ? ";
            } 
            sql += " ORDER BY p.PurchaseDt ";

            ConnectionPool pool = ConnectionPool.getInstance();
            Connection conn = pool.getConnection();
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, m.getMemid());
            if (!sqlwhere.isEmpty()) {
                ps.setString(2, sqlwhere);
            }

            ResultSet r = ps.executeQuery();

            ArrayList<Purchase> pur = new ArrayList<>();
            while (r.next()) {
                Purchase p = new Purchase();
                p.setMemid(m.getMemid());
                p.setPurchasedt(r.getString("PurchaseDt"));
                p.setTranscd(r.getString("TransCd"));
                p.setTransdesc(r.getString("TransDesc"));
                p.setAmount(r.getDouble("Amount"));
                pur.add(p);
            }
            request.setAttribute("pur", pur); 
            r.last();
            msg += "Member records = " + r.getRow() + "<br>";

            r.close();
            pool.freeConnection(conn);
            URL = "/Purchases.jsp";

        } catch (SQLException e) {
            msg += "SQL Error: " + e.getMessage() + "<br>";
        } catch (Exception e) {
            msg += "Servlet error: " + e.getMessage() + "<br>";
        }
            request.setAttribute("msg", msg);
              RequestDispatcher disp =
                getServletContext().getRequestDispatcher(URL);
        disp.forward(request, response);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...