ResultSet Interface trong JDBC




Có thể nói rằng ResultSet là một bảng dữ liệu mà biểu diễn tập kết quả từ cơ sở dữ liệu mà được trả về bởi các lệnh SQL. Một đối tượng ResultSet duy trì một con trỏ trỏ tới hàng dữ liệu hiện tại của nó. Ban đầu, con trỏ được đặt trước hàng đầu tiên. Theo mặc định, đối tượng ResultSet chỉ có thể được di chuyển thuận về trước và nó là không thể cập nhật.

Nhưng bạn có thể làm cho đối tượng này di chuyển về trước hoặc về sau bằng cách truyền các tham số TYPE_SCROLL_INSENSITIVE hoặc TYPE_SCROLL_SENSITIVE trong phương thức createStatement(int,int). Dưới đây là một số hằng bạn cần biết:

  • ResultSet.TYPE_FORWARD_ONLY: Thiết lập hằng này làm cho con trỏ chỉ có thể di chuyển thuận về trước trong result set.

  • ResultSet.TYPE_SCROLL_INSENSITIVE: Thiết lập hằng này làm cho con trỏ có thể cuốn về trước hoặc về sau, và result set là không nhạy với các thay đổi tới cơ sở dữ liệu mà được thực hiện sau khi result set được tạo.

  • ResultSet.TYPE_SCROLL_SENSITIVE: Thiết lập hằng này làm cho con trỏ có thể cuốn về trước hoặc về sau, và result set là nhạy với các thay đổi tới cơ sở dữ liệu mà được thực hiện sau khi result set được tạo.

  • ResultSet.CONCUR_READ_ONLY: Đây là giá trị mặc định của ResultSet. Làm cho result set là read-only.

  • ResultSet.CONCUR_UPDATABLE: Làm cho ResultSet là có thể cập nhật.

Dựa vào các hằng trên, chúng ta có thể khởi tạo một đối tượng Statement để tạo một đối tượng ResultSet có các đặc tính là có thể cuốn về trước và sau và có thể cập nhật, như sau:

try {
   Statement stmt = conn.createStatement(
                           ResultSet.TYPE_SCROLL_INSENSITIVE,
                           ResultSet.CONCUR_READ_ONLY);
}
catch(Exception ex) {
   ....
}
finally {
   ....
}

Một số phương thức được sử dụng phổ biến của đối tượng ResultSet

Dưới đây, mình chia các phương thức của ResultSet Interface thành ba loại. Với mỗi loại, mình sẽ liệt kê một số phương thức cũng như ví dụ minh họa cho các bạn dễ tìm hiểu. Vì phần trình bày là khá dài, nên bạn theo link để tìm hiểu chi tiết.

Loại 1: Các phương thức được sử đụng để di chuyển con trỏ bên trong Result Set..

Loại 2: Các phương thức để quan sát dữ liệu trong các cột của hàng hiện tại đang được trỏ bởi con trỏ..

Loại 3: Các phương thức được sử dụng để cập nhật dữ liệu trong các cột của hàng hiện tại..