sql语句是从4个表查询的结果,我自己建了个类tbfybbx把这些要查的列封装了。加了个构造。查完集合存不进数据,sql语句没问题。或者谁帮我看看怎么弄该con=JDBCUtil.open();
ArrayList<TbFybbcx> feiyong = new ArrayList<TbFybbcx>();
sql="select td.wtdd ,tdt.tdh ,tbx.xh,tg.sfxm  from tb_dd_xh  tbx,tb_dd  td,tb_dd_td  tdt,tb_gdxxb tg 
where td.ddid=tbx.ddid and tdt.ddid=td.ddid and tbx.ddxcid=tg.ddxcid and tg.fkdwjc= ? and tg.wldwbm=?
ps=con.prepareStatement(sql);
ps.setObject(1, fkdw);
ps.setObject(2, skdw);
rs=ps.executeQuery();

while(rs.next())
{
String wtdd=rs.getString("wtdd");
String tdh=rs.getString("tdh");
String xh=rs.getString("xh");;
String sfxm=rs.getString("sfxm");
TbFybbcx tfb=new TbFybbcx(wtdd,tdh,xh,sfxm);
feiyong.add(tfb);

}

解决方案 »

  1.   

    问下楼主,是怎么把那些需要查询的字段给封装到一个javabean的啊。。求教
      

  2.   


    为什么只想到这儿呢,你确定是这个构造的方法的问题么?为什么不能是上面的sql语句的错?为什么不能是rs取值的过程有问题,建议你debug吧,这儿问没多大意义!
      

  3.   

    你参数是正常传进去了的吗? 你把参数直接写到sql里面再测试下
      

  4.   

    要么sql错,while根本没进;要么构造器写错
      

  5.   

    while(rs.next()){ 
    String wtdd=rs.getString("wtdd");
    String tdh=rs.getString("tdh");
    String xh=rs.getString("xh");;
    String sfxm=rs.getString("sfxm");
    TbFybbcx tfb=new TbFybbcx(wtdd,tdh,xh,sfxm);
    feiyong.add(tfb);
    }
    循环里面的变量,在java虚拟机划分空间,变量产生冲突。改动如下
    while(rs.next()){ 
    TbFybbcx tfb = new TbFybbcx(rs.getString("wtdd"),getString("tdh"),rs.getString("xh"),rs.getString("sfxm"));
    feiyong.add(tfb);
    }