要捕捉异常,加try...catch...语句

解决方案 »

  1.   

    不是呀,是你没有进行异常的处理
    加上try{}catch(SQLException e){}就可以了
    不会告诉我你不知道怎么加吧
    try
    {
        for (int i = 1; i <= MyRs.getMetaData().getColumnCount(); i++) 
       {
           ht.put(MyRs.getMetaData().getColumnName(i),check(MyRs.getString(i)));
       }
      }catch(SQLException e){}}
      

  2.   

    try
    {Hashtable ht=new Hashtable();
       for (int i = 1; i <= MyRs.getMetaData().getColumnCount(); i++) 
       {
           ht.put(MyRs.getMetaData().getColumnName(i),check(MyRs.getString(i)));
     }
    vt.addElement(ht);
    }catch(Exception e)
    {
       System.out.println(e);
    }说你要捕获异常!
      

  3.   

    在编译的过程中就出现上面的问题,我是做到一个bean里面的,在编译的这个bean的时候出现上面的报错信息的。谢谢大虾的关注,继续,谢谢!
      

  4.   

    最好用一个和查询结果表相对应的bean做中介,比如和MyRs对应的aa 用Arraylist比较好
    Iterator getRsName(){
    List lst =new Arraylist();
    while(rs.next()){
     aa.name=rs.setString("name"); lst.add(aa);
    }
     Iterator it=lst.Iteartor();
     return it;
    }it就是返回的集合,Iterator比Vector好
    while(it.hasNext()){
     aa a=(aa)it.next();
     
    }
    就可以把a 的内容取出
      

  5.   

    加上try……catch……之后编译通过,说实话,上面的代码也是从前面的帖子里面看到的,还有很多问题不明白,比如:
    1、这个过程是不是把resultset按照一列一列的方式转化为Vector的?
    2、这样写是不是不用关心resultset具体的列数目以及行数目,都能很好的转化为Vector?
    3、如果第一个问题成立,那么怎样才能按照一行一行的转化为Vector?这样对后来从Vector取数据有什么影响?
      

  6.   

    你要自己写一个对象来做。比如你要从数据库里取5个字段的数据,有N条。
    你要先针对5个子段定义类型,方法然后封装在一个类里。比如上面的aa,这个aa你要自己写
    然后取出数据后,先把数据放到aa,然后将aa加入list
      

  7.   

    还是很迷茫。
    小弟是一个菜鸟,之所以对这个感兴趣,就是最近遇到的一个问题,我用一个bean来负责执行SQL语句,然后产生一个Resultset,如果直接在Jsp页面接收这个Resultset,在jsp页面处理这个Resultset过程中,连接始终不能释放,直至jsp处理完毕,我才能在finally里面释放,这个是我不想看到的,我希望能达到这样一种效果:jsp页面传递SQL语句给bean执行,执行完毕之后将Resultset转化为一种不依附于connection的对象,然后返回,这样我就可以及时的释放这个connection了,至于jsp页面处理这个结果对象需要多长时间,都不会影响连接池的状况。
    希望各位大虾多多说说你们对这个问题的处理,不胜感激!
      

  8.   

    楼主:
      上面 ji66(维扬) 和 xsilver(xsilver) 已经说明得很清楚了呀!  比如要取数据库中username 和 userrole 字段的值:
      private Iterator itUserNames = null;
      private Iterator itUserRoles = null;  private void setValues(){
        ...;
        try{
          List lstUserNames = new Arraylist();
          List lstUserRoles = new ArrayList();
          while(rs.next()){
            lstUserNames.add(rs.setString("username"));
            lstUserRoles.add(rs.getString("userrole"));
          }
        } catch (SQLException sqle){
          ...;
        } finally {
          try {
            rs.close();
    ...;
          } catch (SQLException sqle) {
            ...;
          }
        }
      }  public Iterator getUserNames(){ return itUserNames; }
      public Iterator getUserRoles(){ return itUserRoles ; }
      

  9.   

    上面忘记加了(加在while循环体结束之后):
          itUserNames = lstUserNames.Iteartor();
          itUserRoles = lstUserRoles.Iteartor();