黑马程序员技术交流社区

标题: list [打印本页]

作者: 恩恩    时间: 2013-12-22 23:58
标题: list
  1. Location location = new Location() ;
  2. while (rs.next()) {

  3. location.setCarID(rs.getString("carID")) ;
  4. location.setLatitude(rs.getString("latitude")) ;
  5. location.setLongitude(rs.getString("longitude")) ;
  6. location.setSpeed(rs.getFloat("speed")) ;
  7. locationList.add(location) ;
  8. }
  9. for(Location temp : locationList){
  10. System.out.println(temp.getLatitude());
  11. System.out.println(temp.getLongitude());
  12. }
复制代码

上面这个代码块是我写的一个把数据库库里面查询出来的数据添加locationList里面,但是最后我打印出来一看,这个里面的值只有一个而且还是最后一个,这个是为什么,需要大家给我解答一下。
作者: Diaraelo    时间: 2013-12-23 11:32
本帖最后由 Diaraelo 于 2013-12-23 11:40 编辑

没有你的程序,也没有数据库,具体情况不太好看出来啊,你自己设断点调试下就知道了,看看在读数据时候是怎么读的就一目了然了。不过一般问题都出在SQL语句上,你看看吧。
我以前我写的相关的东西,一会发给你看看吧。 也有可能是你的list集合本身就有问题。因为你发的代码我几乎什么都看不见,所以你只有自己去找了。

  1. List<Getset> list = tiqu.getList();
  2. for(Getset info:list) {
  3. %>
  4. <tr>
  5. <td width="20%"><div align="center"><%out.print(info.getId());%></div></td>
  6. <td width="20%"><div align="center"><%out.print(info.getName());%></div></td>
  7. <td width="20%"><div align="center"><%out.print(info.getPhone());%></div></td>
  8. <td width="20%"><div align="center"><%out.print(info.getPass());%></div></td>
  9. <td width="20%"><div align="center"><a href="delete.jsp?id=<%=info.getId()%>">删除</a></div></td>
  10. </tr>
  11. <%}%>
复制代码



作者: 想你的夜    时间: 2013-12-24 15:43
你的rs是什么?没说明,迭代器也没有写直接while (rs.next())??你那个rs也应该是迭代器,但是没看到你定义。
你要想迭代先写迭代器再迭代试试,你代码贴的少了,
作者: 恩恩    时间: 2013-12-24 15:54
想你的夜 发表于 2013-12-24 15:43
你的rs是什么?没说明,迭代器也没有写直接while (rs.next())??你那个rs也应该是迭代器,但是没看到你定 ...

问题我解决了
作者: 恩恩    时间: 2013-12-24 15:55
Diaraelo 发表于 2013-12-23 11:32
没有你的程序,也没有数据库,具体情况不太好看出来啊,你自己设断点调试下就知道了,看看在读数据时候是怎 ...

问题我解决了,谢谢。我把所有的数据都指向了一个对象,应该把这句话Location location = new Location() ;放到while里面。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2