1 回答

TA貢獻1829條經(jīng)驗 獲得超7個贊
您的ConnecrDb()方法將新Connection對象分配給名為的局部變量con,然后從不使用它。
然后該方法返回null。
您沒有展示如何調(diào)用方法,但這確實無關(guān)緊要,因為方法使用的con 字段notification()要么未分配(因此null),要么分配了null來自的返回值ConnecrDb(),因此null無論哪種方式。
鑒于此,您為什么對 value isnull和導(dǎo)致 a感到困惑NullPointerException?
關(guān)于您的代碼的其他一般性評論:
如果MachCode是一個整數(shù),那么你為什么要在 SQL 中引用它,即為什么where MachCode='"+MachCode+"'";而不是where MachCode="+MachCode;?
如果您正在使用PreparedStatement,為什么不使用?參數(shù)標記,因為它們是要使用的?
使用 JDBC 時應(yīng)該使用 try-with-resources。
Java 命名約定是變量名以小寫字母開頭。
你的代碼應(yīng)該是:
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
添加回答
舉報