疯子520520
2016-08-09 19:08
提示错误信息如下:
Exception in thread "main" java.lang.NullPointerException
at JDBCPacket.Dao.GoddessDao.addGoddess(GoddessDao.java:39)
at JDBCPaclet.Action.GoddessAction.main(GoddessAction.java:37)
不好意思,只写了发生的原因,忘记写如何解决了。
可以将除了我们赋值的那五个字段以外的字段,在add()函数中的sql 语句
方法一:values(,,,,,,,,,)直接赋上值!
方法而:直接把insert into tables () values () 里面只写上这五个字段名和五个值。
这个问题,我想回答!第一次发现这个问题的时候,当天晚上睡觉前思考,晚上做梦也在想,对于我这个连菜鸟都算不上的初学者来说是个大问题啊。然后,今天debug了下,知道了问题所在。
我们在add女神函数中,sql语句中有的值是直接设定,有的是要通过用户输入的,我们之前写的测试函数,是将每个值都赋了,所以没有出现这个问题;
而我们在view类中写的这几个if语句只是赋了姓名,年龄,生日,电话,Email五个信息,而有些既没有设定又没有赋初值的,默认就是null了,此时就会出现nullpointerexception,原因就是访问或修改 null 对象的字段。
此时你用到的sql语句其实就是类似:insert into table (name,age) values ('xiaomei', );这个就是访问了null对象。
理解不?嘿嘿,请高手指教。
我的也是,你怎么解决的呢?
我也是这个问题,感觉是初始化有问题么?
跟空格没关系的,空指针异常,GoddessDao.java:39,是这个语句的问题,可以把这一行代码贴出来看看
en~不太清楚,好像是因为不用
(user_name,sex,age,·······················,isdel)这里的括号
亦或者是引号前后要空格???不清楚
String sql=""+
" insert into imooc_goddess"+
" (user_name,sex,age,birthday,email,mobile,"+
" create_user,create_date,update_user,update_date,isdel)"+
"values("+
"?,?,?,?,?,?,?,current_date(),?,current_date,null)";
PreparedStatement ptmt=conn.prepareStatement(sql);
应该是这段代码中 sql 写错了,检查下就可以
JDBC之 “ 对岸的女孩看过来”
99324 学习 · 856 问题
相似问题