JDBC查询MySql只显示序号为偶数的记录的原因
2011-04-11 14:39
267 查看
这是一段JDBC查询数据库的例子,奇怪的是,执行下来,只能查询到序号为偶数的记录。例如:数据库中有两条符合要求的数据,只能查询到第二条,
有四条符合要求的数据,只能查询到第二条、第四条,依此类推。。
public ArrayList<Task> getPTask1(int userId) { try { ArrayList<Task> al = new ArrayList<Task>(); pstmt = (PreparedStatement) ct .prepareStatement("select * from task where receiverID = ? and publisherID = ? and remark = 2"); pstmt.setInt(1, userId); pstmt.setInt(2, userId); ResultSet rs = (ResultSet) pstmt.executeQuery(); while (rs.next()) { System.out.println(rs.next()); Task task = new Task(); task.setTaskId(rs.getInt(1)); task.setTopic(rs.getString(2)); task.setContent(rs.getString(3)); task.setAddition(rs.getBlob(4)); task.setUserByPublisherId(this.getUById(rs.getInt(5))); task.setUserByReceiverId(this.getUById(rs.getInt(6))); task.setDate(rs.getString(7)); task.setRemark(rs.getInt(8)); task.setLevel(rs.getString(9)); task.setAord(rs.getString(10)); task.setReason(rs.getString(11)); task.setDegree(rs.getString(12)); task.setAddName(rs.getString(13)); al.add(task); System.out.println("task4Content:" + task.getContent()); } return al; } catch (Exception e) { e.printStackTrace(); return null; }
最后得知,原因是:
rs.next每执行一次,指针移动一行。所以,将System.out.println(rs.next());注释掉后,就会正常了。
相关文章推荐
- JDBC链接mysql插入数据后显示问号的原因及解决办法
- mysql创建索引时出现duplicate "XX"的原因以及查询重复记录
- mysql 查询某个字段有重复记录,并显示出具体的记录信息
- 记录:java执行mysql语句查询字段类型:timestamp返回页面显示会多出个 .0,自己如何处理的
- 一个简单的JDBC程序_连接mysql并显示表中记录
- MySql使用全记录3 -----以中文作为查询条件时结果为空的原因以及两个MySql小知识点(varchar、单双引号)
- 如何让从数据库中查询出符合条件的记录,然后给每个记录自动加上序号,序号是根据符合条件的记录多少在随时变化.而且也会在以查询生成的报表中显示出来.谢谢
- 显示查询记录的前n条 mysql limit用法
- JDBC链接mysql插入数据后显示问号的原因及解决办法
- MySql如何分级查询上千万行记录的表,并将该大数据显示到界面中
- mysql查询时去除重复数据以及 FOUND_ROWS 统计记录函数
- mysql 查询在一张表不在另外一张表的记录
- MySQL查询及删除重复记录的方法
- 解决mysql查询结果中文显示乱码
- ruby下无法显示mysql的查询结果
- mysql 查询重复次数最多/最少的几条记录
- 记录一个mysql按日期分组统计的查询
- No Dialect mapping for JDBC type–4 hibernate查询MySQL中longBlob数据
- 在JAVA中查询刚插入的记录ID 利用JDBC的getGeneratedKeys获得INSERT插入后生成的主键ID
- myecilpse +TOMCAT+web:jsp向mysql添加数据,查询在jsp页面显示