Sunny Hill
Sunny Hill

Reputation: 1

java: display the elements from a database

I wrote some java code to display database, when I run the code it gives me just the last element of database , but I wanna display all elements of table

the code :

public String RecupererPuissance() {
    try {
        Connection con =  myDbvoiture.getConnection();
        String queryPattern ="select Power from bd_voiture";
        PreparedStatement pstmt =  con.prepareStatement(queryPattern);
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            puissance=rs.getString("Power");
            System.out.println(puissance);
        }
    } catch (SQLException ex) {
        System.err.println(ex.getMessage());
    }
    return puissance;
}

What should I do? Can anyone please help me to display all values? Thank you for helping me.

Upvotes: 0

Views: 401

Answers (2)

vibhor vaish
vibhor vaish

Reputation: 163

public String RecupererPuissance() {
    try {
        Connection con =  myDbvoiture.getConnection();
        String queryPattern ="select Power from bd_voiture";
        PreparedStatement pstmt =  con.prepareStatement(queryPattern);
        ResultSet rs = pstmt.executeQuery();
        rs.first();
        int count=0;
        while (rs.next()) {
        System.out.println("count = "+count);
        count+=1;
            puissance=rs.getString("Power");
            System.out.println(puissance);
        }
    } catch (SQLException ex) {
        System.err.println(ex.getMessage());
    }
    return puissance;
}

If you see count printed only 1 time :

it would mean that you have only 1 row in column Power and you maybe referring to the wrong column in your code

Upvotes: 0

JHead
JHead

Reputation: 426

I think the problem is with your code that the value of puissance is overwritten every time you get the next element. Only the last value is returned. You should put the results into a list and return the whole list:

public List<String> RecupererPuissance() {
    List<String> puissances = new ArrayList<String>();
    try {
        Connection con =  myDbvoiture.getConnection();
        String queryPattern ="select Power from bd_voiture";
        PreparedStatement pstmt =  con.prepareStatement(queryPattern);
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            puissance = rs.getString("Power");
            puissances.add(puissance);
            System.out.println(puissance);
        }
    } catch (SQLException ex) {
        System.err.println(ex.getMessage());
    }
    return puissances;
}

Upvotes: 1

Related Questions