How to fix my Prepared Statement to give me data from the DB in my application?

I have my Java program and I need to get data from my MYSQL DB, I wrote this one out but its just sysout so getting data from my class and not using the Prepared Statement (I can delete the first 3 lines and it will work the same ) Could use some help to figure out how to get data from my DB and print it out

public void viewClientDetails(ClientsBean client) {
    try {
        PreparedStatement ps = connect.getConnection().prepareStatement(
            "SELECT * FROM mbank.clients WHERE client_id = ?");
        ps.setLong(1, client.getClient_id());
        System.out.println(client.getClient_id());
        System.out.println(client.getName());
        System.out.println(client.getType());
        System.out.println(client.getPhone());
        System.out.println(client.getAddress());
        System.out.println(client.getEmail());
        System.out.println(client.getComment());
    } catch (SQLException e) {
        e.printStackTrace();
        JOptionPane.showMessageDialog(null,
        "Problem occurs while trying to see client details");
    }
}
Jon Skeet
people
quotationmark

Well you're not actually executing the prepared statement... you're just preparing it. You should call PreparedStatement.executeQuery and use the ResultSet it returns:

// ...code as before...
try (ResultSet results = ps.executeQuery()) {
    while (results.next()) {
        // Use results.getInt etc
    }
}

(You should use a try-with-resources statement to close the PreparedStatement too - or a manual try/finally block if you're not using Java 7.)

people

See more on this question at Stackoverflow