成员变量只是被赋一遍初值,之后必须通过明确的赋值才会改变其值,所以sql变量必须在每次用到之前才赋值最好,即在调用sql的方法内部加入以下语句:
sql="select * from css_khda where khbm='"+khbm+"'and khmc like '杭州%')";
在声明时只须如下即可:
private String sql="";

解决方案 »

  1.   

    当然是为null 啦
    String 赋值后,是不可改变的。
    你的statement   sql="select * from css_khda where khbm='"+khbm+"'and khmc like '杭州%')"; 这时 khbm 为null 呀
      

  2.   

    做一个方法可以实现赋值
    private String khbm="";
    private void setSql()
    {
    String sql="select * from css_khda where khbm='"+this.khbm+"'and khmc like '杭州%')";
    }
      

  3.   

    代码是顺序执行的。
    不会因为你后来改变了khbm,sql动态改变。