如何遍历结果集并将值添加到对象?

时间:2019-07-26 11:39:02

标签: java sql eclipse

在我的主类中,有一个打开的Swing JFrame,允许用户选择一些选项,然后调用另一个类。该类使用提供的信息将查询发布到SQL并获取一些值。现在,我想将它们添加到JFrame上的表中。

看起来在表中显示数据的唯一方法是传入2d对象数组。显然,要做到这一点,我需要将值添加到2d对象数组中。到目前为止,这就是我要的:

javascript
import chai from "chai";
import server from "../../index";
import chaiHttp from "chai-http";
const { expect } = chai;

chai.use(chaiHttp);

function validResponse(err, res, status) {
  expect(err).to.be.null;
  expect(res).to.have.status(status);
  expect(res).to.be.json;
}

describe("get one page of recipe", function() {

  it("should return page with recipe", function(done) {
    chai
      .request(server)
      .get("/api/recipe/page/1")
      .end((err, res) => {
        validResponse(err, res, 200);
        console.log(res.body)
        expect(res.body).to.be.an("object");
        done();
      });
  });
});

上面显示了连接到数据库,然后获取行数,然后尝试将值添加到对象数组数据中的情况。

我的期望是它将打印数据库中的值,实际是这样:

您有例外。

  

[Ljava.lang.StackTraceElement; @ 13edc840

1 个答案:

答案 0 :(得分:1)

要遍历{'first': ['first', 1.1, 'last'], 'strng_1': ['strng_1', 12231.71, 'st_2']} ,请使用以下代码:

ResultSet

您的代码存在的问题是,在循环中,您正在递增ResultSet rs = ... while (rs.next()) { // do something } ,因此也在向数组中的许多元素添加数据,但是您没有在i中迭代指针。如果剩余行,ResultSet返回ResultSet.next(),并且递增存储在true中的指针。

您可以使用ResultSet并调用Object[]来代替使用List<Object>来存储数据(需要使用索引参数)。例如,

list.add()