A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 恩恩 中级黑马   /  2013-12-22 23:58  /  1204 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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里面,但是最后我打印出来一看,这个里面的值只有一个而且还是最后一个,这个是为什么,需要大家给我解答一下。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

4 个回复

倒序浏览
本帖最后由 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. <%}%>
复制代码


评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
你的rs是什么?没说明,迭代器也没有写直接while (rs.next())??你那个rs也应该是迭代器,但是没看到你定义。
你要想迭代先写迭代器再迭代试试,你代码贴的少了,
回复 使用道具 举报
想你的夜 发表于 2013-12-24 15:43
你的rs是什么?没说明,迭代器也没有写直接while (rs.next())??你那个rs也应该是迭代器,但是没看到你定 ...

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

问题我解决了,谢谢。我把所有的数据都指向了一个对象,应该把这句话Location location = new Location() ;放到while里面。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马