检查看你的 conn = getConnection(conn) 这样可以创建连接吗

解决方案 »

  1.   

    虽然在createConnection里有这样的db = new OperateDB(conn);但是参数是不会被改变的。所以仍然会扔出空指针异常,改成
    OperateDB db = new OperateDB();
      

  2.   

    调用
    db = new OperateDB(conn);
    以后
    db值是多少
      

  3.   

    修改成下面这样吧。
    public OperateDB createConnection(Connection conn) {
    Connection conn1 = getConnection(conn);  
    OperateDB db = new OperateDB(conn);
                      return db;
    }
    调用方法:
    Connection conn = null;
    OperateDB db = null;
    db = createConnection(conn);
    cb = db.getData(sql, iPageNo, iRowNum);
      

  4.   

    to learnner( ) :conn = getConnection(conn) 可以创建连接,没有错误,conn的值也不为空
    to mtou(逆风):调用db = new OperateDB(conn)以后db值并不为null一个朋友的解释是java中没有指针的概念,是不能通过指针来修改值的。基本与unsalted(icebird)的观点一致
    谢谢大家
     
      

  5.   

    按照在其他语言中的经验,参数是class,传的就是指针,在函数内部改变了参数的值可以反映到函数的外部,只要是这个变量的有效范围都可以,但是java却不是这样
    我感觉这是一个很好的问题,让我们深入了解java,大家继续讨论