日期:2014-05-17  浏览次数:20706 次

为什么我用下面的方法向数据库中追加记录时,提示错误信息呢?
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