插入数据库java时出现空指针异常

时间:2012-03-25 13:49:23

标签: java sql nullpointerexception

您好我在下面有这个方法应该将值插入我的数据库。但是我在PreparedStatement行上得到了Null Pointer Exception

   public void insertReservation(String name, String phone, int size, String date, String time, String additionalRequirements, String memberID, String themeID) throws SQLException, ClassNotFoundException {

        try {
            String strQuery = "INSERT INTO reservation VALUES (?, ? ,?, TO_DATE(?, 'dd-MMM-yy'), ?, ?, ?, ?)";
            PreparedStatement stmt = conn.prepareStatement(strQuery);/
            stmt.setString(1, name);
            stmt.setString(2, phone);
            stmt.setInt(3, size);
            stmt.setString(4, date);
            stmt.setString(5, time);
            stmt.setString(6, additionalRequirements);
            stmt.setString(7, memberID);
            stmt.setString(8, themeID);
            results = stmt.executeQuery();

        } catch (Exception e) {
            e.printStackTrace();
        }//end try
    }

我是否正确地将其插入我的数据库?我不知道为什么我得到这个空指针异常错误。

2 个答案:

答案 0 :(得分:7)

connnull,打印其值。

答案 1 :(得分:0)

不知道但是试试这个

String strQuery = "insert into reservation(ColumnName1, ColumnName2 ,ColumnName3,) values(?,?,?)“;

最后它将只是execute(); 像这样stmt.execute();

executeQuery();语句仅适用于选择查询

其次,您是否在构造函数或方法中描述了conn值,其中您使用查询的类如果您已经分配了它,就像这样conn = SqlConnection.ConnecrDb();

下面的

是我创建的SqlConnection Seperate类

public class SqlConnection {

    Connection conn=null;

    public static Connection ConnecrDb(){
        try
        {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection conn= DriverManager.getConnection("jdbc:odbc:Test","","");
        return conn;
        }
        catch(Exception e)
        {
        JOptionPane.showMessageDialog(null, e);
        return null;
        }
    }
}

希望它能帮到你