public List<Province> getProvince(){
List<Province> list=new ArrayList();
String sql="select * from province";
PreparedStatement ps=null;
ResultSet rs=null;
Connection con=null;
try {
con=DBManager.getConnection();
ps=con.prepareStatement(sql);
rs=ps.executeQuery();

if(rs.next()){
Province p=new Province();
p.setId(rs.getInt(1));
p.setName(rs.getString(2));
list.add(p);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
/*****************************************************************/                 ProvinceDao dao=new ProvinceDao();
List<Province> lsp=dao.getProvince();//在这会报错,为什么?可以帮帮忙不

解决方案 »

  1.   

    -------与本贴问题有关
    1.还请楼主贴出一些异常信息来,更方便大家快速找到错误(我个人怀疑不是转型错误)。
    2.List <Province> list=new ArrayList(); 后面的ArrayList应该也要加上泛型,虽然不加也能编译通过。
    -------与本贴问题无关
    1.楼主在方法内建立了Connection、PreparedStatement、ResultSet这三个资源都没有在使用后关闭,这是个比较严重的问题。
    2.建议楼主把对数据库连接的建立、关闭控制拿到方法外,这样一个连接就可使用几次(一次请求很可能要操作1次以上的数据库,如果不改的情况下就要建立一条以上连接,浪费性能)
    3.诸如String sql="select * from province"; 之列恒久不变的变量可以考虑做成static final的,避免每次执行方法都要作为内部变量被创建一次。
      

  2.   

    编译的时候List <Province> lsp=dao.getProvince();就已经出错了,有叉叉
      

  3.   

    错误信息是啥啊?
    光看代码看不出啥问题,潜在问题很多,如1L所说select * from province
    最好写成select id,name from province;
      

  4.   


    有叉叉?什么叉叉?你的类都import了没有啊?没有import当然叉叉了,还是好几个查查
      

  5.   

    首先 你先看看你有没有import ProvinceDao的办包引过来
    然后 在把PreparedStatement,ResultSet, Connection的对象关闭在试试
      

  6.   

    ProvinceDao dao=new ProvinceDao();
    List <Province> lsp=dao.getProvince();编译都过不了
    dao.getProvince();  返回什么给大家看看还是Province没导包
    看看