Search code examples
javaresultset

Result sets Java


I'm creating a program that outputs data from a database into a pie chart and a table. I'm 'trying' to use the model view controller design. My problem is that the result set i am making will have multiple values which i need to extract out, but i don't know how to store them. My code at the moment is:

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");
    }

The data that changes will be StandardID through to Override. So what i need to do is for each iteration i need to store the values somehow so i can then put it into the pie chart and table. I think what is tripping me up is that i used this method for a result set that only contained one set of values. any help it much appreciated :).


Solution

  • Please iterate the values and store each row into the separate data object. So, we need to construct the List of objects.

    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);
     }