我正在创建一个程序,将数据库中的数据输出到饼图和表格中。我正在'尝试'使用模型视图控制器设计。我的问题是我正在制作的结果集将有多个值,我需要提取出来,但我不知道如何存储它们。我的代码目前是:
PreparedStatement returnDealerData = con.prepareStatement
("SELECT * FROM project.standard_dealer_link WHERE DealerID = "+ this.DealerID +
"and Quarter =" + this.Quarter + "and Year ="+ this.Year + ";");
ResultSet dealerRS = returnDealerData.executeQuery();
while (dealerRS.next()) {
this.DealerID = dealerRS.getInt("DealerID");
this.StandardID = dealerRS.getInt("StandardID");
this.Achieved = dealerRS.getString("Achieved");
this.NSCWaiver = dealerRS.getString("NSC_Waiver");
this.Override = dealerRS.getString("Override");
this.Quarter = dealerRS.getInt("Quarter");
this.Year = dealerRS.getInt("Year");
}
更改的数据将是StandardID到Override。所以我需要做的是每次迭代我需要以某种方式存储值,以便我可以将它放入饼图和表格中。 我认为让我沮丧的是,我将此方法用于仅包含一组值的结果集。 任何帮助,非常感谢:)。
答案 0 :(得分:0)
请迭代值并将每一行存储到单独的数据对象中。因此,我们需要构造对象列表。
List<DataObject> list = new ArrayList<DataObject>();
while (dealerRS.next()) {
DataObject obj = new DataObject();
obj.setDealerID(dealerRS.getInt("DealerID"));
obj.setStandardID(dealerRS.getInt("StandardID"));
obj.setAchieved(dealerRS.getString("Achieved"));
obj.setNSCWaiver(dealerRS.getString("NSC_Waiver"));
obj.setOverride(dealerRS.getString("Override"));
obj.setQuarter(dealerRS.getInt("Quarter"));
obj.setYear(dealerRS.getInt("Year"));
list.add(obj);
}