黑马程序员技术交流社区

标题: 一个小问题? [打印本页]

作者: 杨海波    时间: 2012-6-2 12:24
标题: 一个小问题?
本帖最后由 杨海波 于 2012-6-9 10:12 编辑

部分代码:
  1. ResultSet rs = rm.QueryMachine(sql);
  2. ArrayList<ResultSet> list = new ArrayList<ResultSet>();
  3. String[] str = new String[3];
  4. try
  5. {
  6.         while (rs.next())
  7.         {
  8.                 list.add(rs);
  9.         }
  10.         rs.beforeFirst();
  11.         if(rs.next())
  12.                 System.out.println(list.get(0).getString(1)+list.get(1).getString(1));
  13. }
复制代码
为什么输出来的值是一样的,比如到上面那个地方List里面所存放的每个对象都是rs的第一条记录?求指点

作者: 蒋映辉    时间: 2012-6-2 15:38
本帖最后由 蒋映辉 于 2012-6-2 15:41 编辑

代码貌似是没有错误的,自己写的代码,自己应该很了解每一句话是做什么的,所以出问题以后,自己想办法解决可能是最好的。找出代码中出问题的地方的能力很重要,下面给你点建议
首先,你应该判断一下你想要从数据库中读取的值是不是都存进数组里去了 可以再循环结束的时候输出一个list.size(),自己计算一下是不是把数据库里的内容都存进去了,
然后,你的数据库的第一条数据跟第二条数据是不是一样的呢?
最后     rs.beforeFirst();

        if(rs.next())
你这两句话都没用了,你已经数据存入集合中了,只要去研究集合就可以了,跟rs已经没关系了
作者: 杨海波    时间: 2012-6-2 18:41
谢谢提醒 已解决




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