您好我在下面有这个方法应该将值插入我的数据库。但是我在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
}
我是否正确地将其插入我的数据库?我不知道为什么我得到这个空指针异常错误。
答案 0 :(得分:7)
conn
为null
,打印其值。
答案 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;
}
}
}
希望它能帮到你