我不知道我的代码有什么问题,真的很困惑。
btnDone.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
enterproject1 obj1 = new enterproject1();
String pn = obj1.getprojectname();
Connection conni = null;
try {
String query=("insert into " + obj1.getprojectname() + " (engname,engpass,startingdate,estdate) values(?,?,?,?)");
PreparedStatement pst= conni.prepareStatement(query);
pst.setString(1, engineername.getText());
pst.setString(2, engpass.getText());
pst.setString(3, startingdate.getText());
pst.setString(4, estdatee.getText());
pst.execute();
JOptionPane.showMessageDialog(null, "Data Saved!");
System.out.println(pst.toString());
pst.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
dispose();
WindowProjectAdmin blue = new WindowProjectAdmin();
}
});
btnDone.setFont(new Font("Tahoma", Font.BOLD, 13));
btnDone.setForeground(new Color(0, 255, 0));
btnDone.setBounds(332, 327, 97, 38);
contentPane.add(btnDone);
}
}
应该正常工作吗?给我Null指针异常。 obj1是来自另一个类的值,我很确定调用也是正确的。谢谢您的时间^ - ^
答案 0 :(得分:1)
您似乎将连接变量初始化为null
Connection conni = null;
然后在这里使用它:
PreparedStatement pst= conni.prepareStatement(query);
此时conni仍为null,因此出现空指针异常。