Sqlite空指针异常

时间:2015-05-14 07:35:33

标签: mysql sql sqlite jdbc

我不知道我的代码有什么问题,真的很困惑。

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是来自另一个类的值,我很确定调用也是正确的。谢谢您的时间^ - ^

1 个答案:

答案 0 :(得分:1)

您似乎将连接变量初始化为null

Connection conni = null;

然后在这里使用它:

PreparedStatement pst= conni.prepareStatement(query);
此时

conni仍为null,因此出现空指针异常。