首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Vector保持向自身追加行,而不是替换- java (表和数据库)

Vector保持向自身追加行,而不是替换- java (表和数据库)
EN

Stack Overflow用户
提问于 2013-03-24 10:21:51
回答 2查看 393关注 0票数 1
代码语言:javascript
运行
复制
Vector vect = new Vector();
Vector vect_container = new Vector();
  for(int i=0;i<2;i++){
        rs.next();
        vect.addElement(rs.getInt("ID"));
        vect.addElement(rs.getString("Name"));
        vect.addElement(rs.getFloat("Price"));
        vect.addElement(rs.getDouble("Quantity"));
        vect.addElement(rs.getDate("datetime"));
        vect.addElement(rs.getString("person"));
        vect_container.add(vect);
    }

我通过ResultSet(rs)从数据库表中获取行,但是向量追加的是所有行的结果(而不是逐行)。输出为:

代码语言:javascript
运行
复制
[
    [23424234, Congestal, 10.0, 3500.0, 2013-03-23,
     Ahmed Ali, 34535647, Decksafeen, 35.0, 2000.0, 2013-03-23, Osama ], 
    [23424234, Congestal, 10.0, 3500.0, 2013-03-23,
     Ahmed Ali, 34535647, Decksafeen, 35.0, 2000.0, 2013-03-23, Osama ]
]

我认为vect_container中的第一个元素应该只包含第一行,第二个元素应该包含两行,依此类推。

但事实似乎并非如此。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-24 10:25:01

您一直在向vect_container添加相同的Vector。您需要在每次循环迭代中添加一个新的。

移动此行:

代码语言:javascript
运行
复制
Vector vect = new Vector();

在rs.next()调用之后:

代码语言:javascript
运行
复制
rs.next();
Vector vect = new Vector();

而且,不在ResultSet上以这种方式循环可能是安全的。一种更自然的方式是:

代码语言:javascript
运行
复制
while(rs.next()) {
   Vector vect = new Vector();
   vect.addElement(rs.getInt("ID"));
   vect.addElement(rs.getString("Name"));
   vect.addElement(rs.getFloat("Price"));
   vect.addElement(rs.getDouble("Quantity"));
   vect.addElement(rs.getDate("datetime"));
   vect.addElement(rs.getString("person"));
   vect_container.add(vect);
}
票数 1
EN

Stack Overflow用户

发布于 2013-03-24 10:25:08

您不能一直将数据加载到相同的Vector中。您需要为每一行创建一个Vector:

代码语言:javascript
运行
复制
//Vector vect = new Vector();
Vector vect_container = new Vector();
  for(int i=0;i<2;i++){
        rs.next();
        Vector vect = new Vector();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15594463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档