qq__3890
2016-05-29 17:52
哪个大神能给个代码。如果不更改该字段,则输入null,应该怎么写。
好乱阿感觉,
逻辑出错了!我们仿写前几个模块比如add最容易犯这个错误,但此处是update,应该先传入id,根据id取出该条记录,然后对此记录进行修改。
god.setId(Integer.valueOf(in)); 改为 god = (Goddess)action.get(Integer.valueOf(in));
一切ok!
空指针就是说 我们连要修改的对象都没有取到啊,谈何修改
我推测,你在声明God对象的时候没有实例化,导致没有修改的情况下god为空。
修改之后数据库是空的,有可能是因为你的update方法sql有问题
帮忙看一下,我这应该怎么修改。如果都不修改就报空指针异常,修改了数据库就是空的
else if(OPERATION_UPDATE.equals(in.toUpperCase())
||OPERATION_UPDATE.substring(0,1).equals(in.toUpperCase())
||OPERATION_UPDATE.equals(prenious)){
prenious=OPERATION_UPDATE;
if(1==step){
System.out.println("请输入要修改的男神编号:");
}else if(2==step){
god.setId(Integer.valueOf(in));
System.out.println("[姓名](如果该字段不需更改,请输入BQ)");
}else if(3==step){
if(!in.equals("bq")){
god.setUser_name(in);
System.out.println("[生日](如果该字段不需更改,请输入BQ)");
}else{
System.out.println("[生日](如果该字段不需更改,请输入BQ)");
}
}else if(4==step){
if(!in.equals("bq")){
SimpleDateFormat sf=new SimpleDateFormat("YYYY-mm-dd");
god.setBirthday(sf.parse(in));
System.out.println("[年龄](如果该字段不需更改,请输入BQ)");
}else{
god.getBirthday();
System.out.println("[年龄](如果该字段不需更改,请输入BQ)");
}
}else if(5==step){
if(!in.equals("bq")){
god.setAge(Integer.valueOf(in));
System.out.println("[邮箱](如果该字段不需更改,请输入BQ)");
}else{
god.getAge();
System.out.println("[邮箱](如果该字段不需更改,请输入BQ)");
}
}else if(6==step){
if(!in.equals("bq")){
god.setEmail(in);
System.out.println("[手机号](如果该字段不需更改,请输入BQ)");
}else{
god.getEmail();
System.out.println("[手机号](如果该字段不需更改,请输入BQ)");
}
}else if(7==step){
if(!in.equals("bq")){
god.setMobile(in);
try {
action.update(god);
System.out.println("修改成功1");
} catch (Exception e) {
e.printStackTrace();
System.out.println("修改失败1");
}
}else{
god.getMobile();
try {
action.update(god);
System.out.println("修改成功");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("修改失败");
}
}
}
if(OPERATION_UPDATE.equals(prenious)){
step++;
}
JDBC之 “ 对岸的女孩看过来”
99327 学习 · 856 问题
相似问题
回答 4
回答 1
回答 2
回答 5
回答 1