Sobes.tech
Junior

Τι είναι το ResultSet στο JDBC;

sobes.tech AI

Απάντηση από AI

Η διεπαφή ResultSet παρέχει πρόσβαση στα δεδομένα πίνακα που λαμβάνονται ως αποτέλεσμα της εκτέλεσης μιας ερώτησης SQL. Λειτουργεί ως επαναλήπτης πάνω στις γραμμές του αποτελέσματος.

Οι βασικές δυνατότητες του ResultSet:

  • Μετακίνηση μεταξύ γραμμών: next(), previous(), first(), last(), absolute(), relative().
  • Ανάγνωση δεδομένων από στήλες: getString(), getInt(), getDouble(), getObject() και άλλα, με βάση το δείκτη ή το όνομα της στήλης.
  • Ενημέρωση δεδομένων στην τρέχουσα γραμμή (για ResultSet που μπορούν να ενημερωθούν).
  • Απόκτηση μεταδεδομένων του αποτελέσματος (ResultSetMetaData).

Τυπικός βρόχος επεξεργασίας ResultSet:

// Υποθέτουμε ότι το statement είναι Statement ή PreparedStatement
try (ResultSet resultSet = statement.executeQuery("SELECT id, name FROM users")) {
    while (resultSet.next()) {
        int id = resultSet.getInt("id");
        String name = resultSet.getString("name");
        System.out.println("ID χρήστη: " + id + ", Όνομα: " + name);
    }
} catch (SQLException e) {
    e.printStackTrace();
}

Είναι σημαντικό να κλείνετε σωστά το ResultSet (χρησιμοποιώντας try-with-resources ή μπλοκ finally) για να απελευθερώσετε τους πόρους της βάσης δεδομένων.