首页 > 解决方案 > ResultSet 只给我第一行

问题描述

我正在尝试从我的数据库中读取字符串值,以将它们插入到字符串数组列表中。但是,我的循环在仅完成一行后停止。

这是我的代码,

 public void initialize(URL arg0, ResourceBundle arg1) {
        Statement stmt = null;
        String query = "SELECT CustomerName FROM CUSTOMER WHERE CustomerName IS NOT NULL";
        try {
            Connection conn1 = DBConnection.getConnection();
            stmt = conn1.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            // iterate through the java resultset
            while (rs.next()) {
                System.out.println(rs.getString("CustomerName"));
                customersnames.add(rs.getString("CustomerName"));

            }
            stmt.close();
        } catch (Exception e) {
            System.out.println("Exception at initialize ");
            System.err.println(e.getMessage());
        }

        try {
            TextFields.bindAutoCompletion(customer, customersnames);
        } catch (NullPointerException E) {

        }

    }

这就是我得到的

null(红色) heee 初始化时出现异常

“heee”是我数据库的第一行,但我还有更多,这就是它的只读内容,它抛出了一个异常。

标签: javamysqldatabase

解决方案


显然,在打印第一行的结果后,您会得到一个 NullPointerException。
你初始化你的对象了customersnames吗?

为了确定,System.err.println(e.getMessage());改成e.printStackTrace()


推荐阅读