有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将jsp页面的值与数据库值空指针异常进行比较

我想将从表单中获取的字符串与表值进行比较。。。但是存在nullpointerexception
2) 如何使resultset不访问表的最后一条记录

        String occid = request.getParameter("occid");
        String date = request.getParameter("Date");
        String firstname = request.getParameter("FirstName");
        String lastname = request.getParameter("LastName");
        String village = request.getParameter("Village");
        String sonof = request.getParameter("Son");
        String district = request.getParameter("District");
        String weight = request.getParameter("Weight");
        String bags = request.getParameter("Bags");
        String rate = request.getParameter("Rate");
        String amount = request.getParameter("Amount");
        String advanceamt = request.getParameter("Advance");

        String sql = null;
        PreparedStatement prest = null;
        List<AcceptBean> list = new ArrayList<AcceptBean>();

        sql = "Select * from ColdStorage.OccupantMaster";
        prest = conn.prepareStatement(sql);
        ResultSet rs = prest.executeQuery();
        String first = "";
        String last = "";
        String vill = "";
        String son = "";
        String dist = "";
        while (rs.next()) {
            AcceptBean bean = new AcceptBean();
            first = rs.getString("FirstName");
            bean.setFirstName(first);
            System.out.println("first = " + first);
            last = rs.getString("LastName");
            bean.setLastName(last);
            System.out.println("last = " + last);
            vill = rs.getString("Village");
            bean.setVillage(vill);
            System.out.println("vill = " + vill);
            son = rs.getString("Sonof");
            bean.setSonOf(son);
            System.out.println("son = " + son);
            dist = rs.getString("District");
            bean.setDistrict(dist);
            System.out.println("dist = " + dist);
            list.add(bean);
        }
        for (AcceptBean s : list) {
            if ((first.equals(firstname) || first.equals("null")) && (last.equals(lastname) || last.equals("null")) &&
                    (vill.equals(village) || vill.equals("null")) && (son.equals(sonof) || son.equals("null")) &&
                    (dist.equals(district) || dist.equals("null"))) 

            {
                System.out.println("do nothing");
                ServletContext sc = getServletContext();
                RequestDispatcher rd = sc.getRequestDispatcher("/Index.jsp");
                System.out.println("it exists in database");
                rd.forward(request, response);

            } 

数据库值为-

枕骨 名字 姓氏 村庄 索诺夫 地区

三十一 苏罗迪普 纸袋 孟加拉 奥罗宾多坏 孟加拉

三十二 阿文德贝 帕尔马 萨约德 帕拉贝 萨约德

67 迪维扬 帕尔马 巴鲁什 阿文德贝 巴鲁什

七十二 乌尔瓦希 帕尔马 孟买 阿尔文德贝帕尔马酒店 孟买

九十 迪维扬 无效的 无效的 无效的 空的

91 迪维扬 无效的 无效的 无效的 空的


共 (3) 个答案

  1. # 1 楼答案

    1. 你必须检查空值

      如果(第一个!=null)

    二,。如果它是null stirng,那么null不等于NULL因为您使用了equals,所以请改用equalsIgnoreCase

  2. # 2 楼答案

    检查你的

    if(first!=null)

    然后将这些值与其他值进行比较

  3. # 3 楼答案

    ^{}的文件说:

    the column value; if the value is SQL NULL, the value returned is null

    因此last对于这些行来说是null,而不是String{}。因此,您正在呼叫null.equals

    测试== null,而不是equals("null")

            if( first == null || first.equals(firstname) &&
                last == null || last.equals(lastname) &&
                vill == null || vill.equals(village) &&
                son == null || son.equals(sonof) &&
                dist == null || dist.equals(district) )