关于修改女神信息的问题

来源:2-9 JDBC实战---搭建视图层(下)

qq__3890

2016-05-29 17:52

哪个大神能给个代码。如果不更改该字段,则输入null,应该怎么写。

好乱阿感觉,

写回答 关注

4回答

  • wshyzx
    2016-11-09 10:56:36

    逻辑出错了!我们仿写前几个模块比如add最容易犯这个错误,但此处是update,应该先传入id,根据id取出该条记录,然后对此记录进行修改。

    god.setId(Integer.valueOf(in)); 改为 god = (Goddess)action.get(Integer.valueOf(in));

    一切ok!

    空指针就是说 我们连要修改的对象都没有取到啊,谈何修改


    wshyzx

    你可以参考这个 http://www.imooc.com/qadetail/167121 我后面的回答

    2016-11-09 11:00:08

    共 1 条回复 >

  • hydraWindy
    2016-06-13 16:28:47

    我推测,你在声明God对象的时候没有实例化,导致没有修改的情况下god为空。

    修改之后数据库是空的,有可能是因为你的update方法sql有问题

  • qq__3890
    2016-05-30 10:53:35

    帮忙看一下,我这应该怎么修改。如果都不修改就报空指针异常,修改了数据库就是空的

  • qq__3890
    2016-05-30 10:52:32

    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之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99327 学习 · 856 问题

查看课程

相似问题