为什么我用下面的方法向数据库中追加记录时,提示错误信息呢?
public Boolean addStudent(String sId,String sName,int sAge){
Boolean b = false;
String sql = "insert into studentinfo(sId,sName,sAge) values('"+sId+"','"+sName+"',"+sAge+") "; //----①
try {
b = con.createStatement().execute(sql);
} catch (
SQLException e) {
e.printStackTrace();
}
return b;
}
调用addStudent这个方法后,提示如下错误信息:
Exception in thread "main"
java.lang.NullPointerException
at dao.studentQuery.addStudent(studentQuery.java:70)
at dao.studentQuery.main(studentQuery.java:88)
可是,我断点调试的时候,①生成的sql是:INSERT INTO studentinfo(sId,sName,sAge) VALUES('gz005','孙七',26) ,放到数据库中执行并没有错误呀
------解决方案--------------------看看con是不是空的,可能是没连上数据库。
------解决方案--------------------b = con.createStatement().execute(sql);
检查con创建是否成功
------解决方案--------------------con 没创建成功。
------解决方案--------------------Exception in thread "main" java.lang.
NullPointerException
空对象异常,不是sql异常.所以应该是conn==null