首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

生手求助

2011-12-08 
新手求助各位大侠:帮忙看看以下一个方法的代码,为什么总是提示没有返回值。public ArrayList gettickeyinfo

新手求助
各位大侠:
 
  帮忙看看以下一个方法的代码,为什么总是提示没有返回值。 


public ArrayList gettickeyinfo(String _trainN) throws SQLException
  {
   
  try
  {
  ary=new ArrayList();
  tickeyInfo tickeyinfo;
  open();  
  ps = con.prepareStatement("select * from TrainTickey where trainNo=?");
  ps.setString(1,_trainN);
  rs=ps.executeQuery();
  while(rs.next())
  {
  tickeyinfo=new tickeyInfo();
  tickeyinfo.setTrainN(rs.getString(1));
  tickeyinfo.setSeatNum(rs.getInt(2));
  tickeyinfo.setBedNum(rs.getInt(3));
  tickeyinfo.setSeatPrice(rs.getFloat(4));
  tickeyinfo.setBedPrice(rs.getFloat(5));
  ary.add(tickeyinfo);
   
  }
   
  return ary;
  } catch (SQLException ex)
  {
   
  }finally
  {
  rs.close();
  ps.close();
  con.close();
  }
   

  }
   


[解决办法]
楼主想象的太过于理想话了,如果在try里出现了异常,那么就将转到catch块,而你的catch块里,没有任何的return,当然不能编译了。

要么return 一个值,要么抛出一个新异常

Java code
catch (SQLException ex) {            // return null;            throw new SQLException();        }
[解决办法]
访问数据库的时候,会遇到很多意想不到的问题,比如:数据库访问出错,网络连接中断等等。
另外,在关闭ResultSet,Statement,Connection等的时候,最好先判断一下是否null,不是null才关闭。
Java code
        if(rst != null){            try{                rst.close();            }catch(SQLException sqle){                sqle.printStackTrace();            }        } 

热点排行