向mysql表中插入数据总是报错

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at d_InsertBooks.DataOperator.insert(DataOperator.java:17)
Connection con;
private PreparedStatement pstmt;
private String sql;
//录入图书时
public int insert(Vector bookInfo){
try {
sql = "INSET into books VALUES(?,?,?,?,?,?,?,?)";
pstmt = con.prepareStatement(sql);
for(int i = 1; i<= bookInfo.size(); i++){
if(i == 8)
pstmt.setInt(i, Integer.parseInt(bookInfo.elementAt(i-1)));
else
pstmt.setString(i, bookInfo.elementAt(i-1));
}
} catch (SQLException se) {
System.err.println("数据库增加记录出错");
System.err.println(se);
return -1;
}
return 0;
}

Insert 0.0 inset???

有可能是有一些参数没有传入,可以打断点跟一下。

空指针异常,有可能是你插入的数据不对或为空,或者你的参数个数不同,检查一下你传入的参数和“INSET into books VALUES(?,?,?,?,?,?,?,?)”的参数是否一致,参数的数据类型和数据库的是否一致

空指针异常大多发生在调用对象方法时对象为空.(DataOperator.java:17) 后面应该会跟具体的代码报错位置