erfgsieruhiu 2013-03-17 15:23
浏览 578
已采纳

为什么数据库中有多条数据,单只能取出一条

正在做一个web练手项目,使用mysql数据库,和tomcat的连接池。在连接数据库读取数据时,数据库中有多条记录,但却只能取出一条,而直接使用navicat for mysql直接运行查询语句却能读取出所有数据,求指教啊。 :cry:
代码如下:
[code="java"]
public List findAll(){
List result = new ArrayList ();
Connection conn = null;
PreparedStatement pStatement = null;
ResultSet rSet = null;
try {
//DBUtil:定义好了的连接数据库的工具类,
conn = DBUtil.getConnection();
pStatement = conn.prepareStatement("select * from article order by create_dt desc");

        Article article = null;

        rSet = pStatement.executeQuery();
        if (rSet.next()) {
            article = new Article();
            article.setId(rSet.getInt("id"));//读取数据相关操作
                article.setTitle(rSet.getString("title"));

            System.out.println("add one article");//程序运行时只打印了一次
            result.add(article);
        }

        return result;
    } catch (Exception e) {

        e.printStackTrace();
    } finally {
                    //关闭连接相关操作
        DBUtil.closeResultSet(rSet);
        DBUtil.closePreparedStatement(pStatement);
        DBUtil.closeConnection(conn);
    }

    return null;
}

[/code]

  • 写回答

2条回答 默认 最新

  • Dead_Knight 2013-03-17 15:28
    关注

    if (rSet.next())
    这里换成:
    while (rSet.next())

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码