我连接sql时,用的是while(rs.next()) { xm=base.rset.getString("xm").trim();……}
 但是当数据库中有字段为空时就出错了,请问怎么解决呢?

解决方案 »

  1.   

    为空肯定会错
    String sm = base.rset.getString("xm");
    if(sm==null)
       sm=“”;
      

  2.   

    xm=base.rset.getString("xm").trim()==null?"":base.rset.getString("xm").trim();
      

  3.   

    刚才我分别试了一下上面的2个语句,为什么当数据库表中xm字段为null时,该行报错;不为空时就正常显示呢?
      

  4.   

    发生了异常了,用try,catch处理就可以了
      

  5.   

    字段为空的情况下 处理一下我们再查询的时候能解决那上最好了
    意思就是不去取空值的记录 
    如果我们的应用当中需要那些空值记录
    那我们只有把字段的内容取出 然后判断它的值 是不是为 null 
      

  6.   

    为什么会出错,问一下trim() 函数吧
      

  7.   

    如果 rs 得到的是对象类型的话:
      String s = rs.getString("xm");
      s = (s == null)?"":s.trim();如果 rs 得到的是基本类型的话:
      int age = rs.getInt("age");
      age = (rs.wasNull())?-1:age;