我從過去12小時的互聯網中發現,發現太多的用戶正面臨這個問題,但是他們都沒有能力擺脫那個, 我hav創建了一個JDialog,其中包含TextFields,我試圖從這些文本字段獲取輸入,並將其存儲在DataBase中,但是Givi中的以下例外。方法中的空指針異常,它設置了準備語句的參數
Exception occurred during event dispatching:
Connection ok
Adnan
java.lang.NullPointerException
at srvrDataBaseClass.setPersonStatement(srvrDataBaseClass.java:90)
at srvrDataBaseClass.insertPerson(srvrDataBaseClass.java:71)
at EnrollmentForm.setPerson(EnrollmentForm.java:90)
這裏是代碼凡StackTrac指向,
public void setPersonStatement(String nm,String fn,String cn,String add, byte[] fpt) {
String Sql = "INSERT INTO PERSON (NAME, FNAME, CNIC, ADDR, FPT) VALUES (?,?,?,?,?)";
try {
if(con==null){
System.out.println("Connection error"); <---------------- Connection is Not Closed
}
else {
System.out.println("Connection ok"); <------Connection ok
}
con.prepareStatement(Sql);
System.out.println(nm); <----- This is Line :90, But You can see its not Null, as the Value 'Adnan' is printed on cmd,
pst2.setString(1, nm);
pst2.setString(2, fn);
pst2.setString(3, cn);
pst2.setString(4, add);
pst2.setBytes(5, fpt);
pst2.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("SQL Error");
e.printStackTrace();
}
}
因此任何一個誰可以告訴我,什麼是錯我的代碼
注:數據庫是SQL Server 2008中,
這條線不能(以及它可能的,但我沒有看到你改變'System.out')拋出一個'NullPointerException'。確切地說, –
;這行是錯誤的:con.prepareStatement(Sql);沒有分配給任何東西 – duffymo