text字段不能为空,虽然为空也能保存但读取时就会出错

解决方案 »

  1.   

    up up up !
    没人遇到过吗?
      

  2.   

    代码:
    public ArrayList getResult() throws Exception{
    ResultSet rs = null;
    sysdbcon dbc = null;
    ArrayList slist = new ArrayList();
    notiParam param = null;
    try{
    dbc = new sysdbcon();
    searchSql = "select * from TG_notify ";
    //System.out.print(serchSql);
    rs = dbc.executeQuery(searchSql);

    while (rs.next()){
    param = new notiParam();
    param.setNoti_id(rs.getString("noti_id"));               //1
    param.setNoti_title(rs.getString("noti_title"));             //2
    param.setNoti_content(rs.getString("noti_content"));           //3
    param.setNoti_unit(rs.getString("noti_unit"));               //4
    param.setUpdate_time(rs.getString("update_time"));       //5
    param.setUp_person(rs.getString("up_person"));     //6

    slist.add(param);
    }
        }
    catch (Exception e){
    e.printStackTrace();
    throw new Exception ("查询通告信息出错,错误信息为:" + e.getMessage());
    }
    finally {
    try{
    if (rs!=null){
    rs.close();
    rs = null;
    }
    dbc.close();
    }
    catch (Exception ee){
    ee.printStackTrace();
    }
    }
    return slist;
    }错误信息:查询通告信息出错,错误信息为:[Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 4.
      

  3.   

    解决问题的方法是:在取数据的时候,将取数据的顺序保证与sql语句字段的顺序一致即可。
      

  4.   

    ResultSet can not re-read row data for column 3
    举个简单的例子
    sql语句:select id,name,age from user where id='1000'
    那么得到rs以后,取数据必须按照这个顺序来取:
    String id = rs.getString("id");
    String name = rs.getString("name");
    String age = rs.getString("age");
    顺序不对就会报以上这个错误
      

  5.   

    st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    这样就可以改变顺序了,但是不能做事务了