1 回答
TA贡献1829条经验 获得超7个赞
您的ConnecrDb()方法将新Connection对象分配给名为的局部变量con,然后从不使用它。
然后该方法返回null。
您没有展示如何调用方法,但这确实无关紧要,因为方法使用的con 字段notification()要么未分配(因此null),要么分配了null来自的返回值ConnecrDb(),因此null无论哪种方式。
鉴于此,您为什么对 value isnull和导致 a感到困惑NullPointerException?
关于您的代码的其他一般性评论:
如果MachCode是一个整数,那么你为什么要在 SQL 中引用它,即为什么where MachCode='"+MachCode+"'";而不是where MachCode="+MachCode;?
如果您正在使用PreparedStatement,为什么不使用?参数标记,因为它们是要使用的?
使用 JDBC 时应该使用 try-with-resources。
Java 命名约定是变量名以小写字母开头。
你的代码应该是:
int machCode = 1721;
String sql = "select TimeOn from PRODUCTIONS_MONITOR where MachCode = ?";
try (PreparedStatement pst = con.prepareStatement(sql)) {
pst.setInt(1, machCode);
try (ResultSet rs = pst.executeQuery()) {
while (rs.next()) {
arrCount.add(rs.getInt(1));
}
}
}
// rest of code here
添加回答
举报