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

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

正在做一个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条)

报告相同问题?