ResultSet仅给我第一行

时间:2018-10-08 09:35:22

标签: java mysql database

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

那是我的代码,

 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”是数据库的第一行,但是我还有很多,这是它仅读取的内容,并且引发异常。

1 个答案:

答案 0 :(得分:0)

很明显,在打印第一行的结果后,您将获得NullPointerException。
您是否初始化了对象customersnames

为了确保将System.err.println(e.getMessage());更改为e.printStackTrace()