sql = "select a.*,b.* from a,b Where a.id = b.id " ;
OraclePreparedStatement stmt = (OraclePreparedStatement) conn.prepareStatement( sql );
ResultSet rs=stmt.executeQuery();<% while (rs.next()) 

                      out.print(rs.getString("a.name")); //这样有错!!
                      //注:用的是oracle数据库}%>可是如果表a和表b都有字段时必须得指明哪个表啊。请问该怎么解决?谢谢!加班折腾快一天了也没解决。谢谢,急急急!

解决方案 »

  1.   

    当然有错了,你把a.*和b.*去掉,换成一个一个的字段,然后将字段给个别名,比如
    select a.name aname,a.age aage ,b.name bname,from from a,b Where a.id = b.id 
    然后
    out.print(rs.getString("aname"));
    out.print(rs.getString("aage"));
    out.print(rs.getString("bname"));
    试试吧
      

  2.   

    select a.name aname,a.age aage ,b.name bname from a,b Where a.id = b.id 
      

  3.   

    rs.getString(1);
    rs.getString(2);
    rs.getString(3);
    ......
      

  4.   

    select a.name aname,b.name bname from a,b Where a.id = b.id 没有好办法
    你可以只给2个表的字段名重复 列起别名 不重复的就不用了
      

  5.   

    如果表a字段多就用a.*,b表具体指定,反之,如果b.*多就具体指定a表中的列,哪样方便哪样来呗,这个是因为返回多个重复列造成的