遇到null时出现Java结果集错误

时间:2011-08-22 21:46:35

标签: java sql multidimensional-array resultset

我有一些代码将查询的结果集放入二维数组中。但是,当数组遇到结果集中的null时,它会发生错误。我该如何解决这个问题?

  query = "SELECT * FROM E_CMS WHERE BOXADDR_AREA IS NULL ORDER BY CBOXID ASC ";
  rs = stmt.executeQuery(query);

    //insert the table into the 2 dimensional array
    while (rs.next()) {
    e_cms_Array[count][0] = rs.getString("CBOXID");
    e_cms_Array[count][1] = rs.getString("CBOXADD").replace("'","");
    e_cms_Array[count][2] = rs.getString("MFLPU");
    e_cms_Array[count][3] = rs.getString("SATLPU");
    e_cms_Array[count][4] = rs.getString("BOXTYPE");
    e_cms_Array[count][5] = rs.getString("SVCCLASS");
    e_cms_Array[count][6] = rs.getString("LOCATION_TYPE").replace("'","");
    e_cms_Array[count][7] = rs.getString("CHANGE_DATE");
    e_cms_Array[count][8] = rs.getString("DEL_FLAG");
    e_cms_Array[count][9] = rs.getString("DECAL_PRINT_DT");
    e_cms_Array[count][10] = rs.getString("BOXADDR_AREA").replace("'","");
    e_cms_Array[count][11] = rs.getString("LASTMF_AREA_O");
    e_cms_Array[count][12] = rs.getString("LASTSAT_AREA_O");

    System.out.println(count + " :: " + 
      e_cms_Array[count][0]+"|"+
      e_cms_Array[count][1]+"|"+
      e_cms_Array[count][2]+"|"+
      e_cms_Array[count][3]+"|"+
      e_cms_Array[count][4]+"|"+
      e_cms_Array[count][5]+"|"+
      e_cms_Array[count][6]+"|"+
      e_cms_Array[count][7]+"|"+
      e_cms_Array[count][8]+"|"+
      e_cms_Array[count][9]+"|"+
       e_cms_Array[count][10]+"|"+
      e_cms_Array[count][11]+"|"+
      e_cms_Array[count][12]);

    count++;
    }

1 个答案:

答案 0 :(得分:4)

除了你做

这样的事情之外,没有理由出错
  e_cms_Array[count][1] = rs.getString("CBOXADD").replace("'","");

只需用

替换它
  String s = rs.getString("CBOXADD");
  e_cms_Array[count][1] = s==null ? s : s.replace("'","");

或者更好地为此替换编写一个容忍空的方法。