java - 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”是我数据库的第一行,但我还有更多,这就是它的只读内容,它抛出了一个异常。
解决方案
显然,在打印第一行的结果后,您会得到一个 NullPointerException。
你初始化你的对象了customersnames
吗?
为了确定,System.err.println(e.getMessage());
改成e.printStackTrace()
推荐阅读
- r - 如何正确地将 df 转换为时间序列并在同一管道中清理它?
- python - 当我将 PCL(点云库)与 PythonLibs 一起使用时,为什么我的 CMakeLists.txt 不起作用?
- php - 使mysql查询动态化
- python - 在 django_filters 中搜索部分匹配和不区分大小写
- node.js - 如何摆脱:警告:找不到任何匹配模式“dotenv_config_path=.env.test”的文件
- sqlite - (SQLITE) 如何使用子查询将另一个表的总和相加
- wpf - 故事板 EllipseGeometry 动画
- java - 使用 Spring Boot 显示所有用户信息
- java - 将包导入类在 Android Studio 中无法识别
- google-sheets - 如何防止 GoogleFinance 对股票价格进行四舍五入?