1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Các khái niệm mới của JDBC 2.0 pdf

9 463 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các khái niệm mới của JDBC 2.0
Tác giả Đào Anh Tuấn
Trường học Faculty of Information Technology, Ho Chi Minh City University of Natural Sciences
Chuyên ngành Information Technology
Thể loại Tài liệu
Định dạng
Số trang 9
Dung lượng 472,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Scrollable ResultSet Với phiên bản 1.0, ResultSet chỉ có thể duyệt theo 1 chiều là forward  Với phiên bản 2.0, ResultSet có thể duyệt cả chiều forward và backward.. Sự thay đổi nằm ở c

Trang 1

Các khái niệm mới của JDBC 2.0

Đào Anh Tuấn – datuan@fit.hcmuns.edu.vn

Trang 2

Scrollable ResultSet

 Với phiên bản 1.0, ResultSet chỉ có thể duyệt theo 1 chiều là forward

 Với phiên bản 2.0, ResultSet có thể duyệt cả chiều forward và backward Sự thay đổi nằm ở câu lệnh

createStatement:

Statement stmt =

con.createStatement( ResultSet.TYPE_SCROLL_SENSITI

VE , ResultSet.CONCUR_READ_ONLY );

 ResultSet trả về bởi statement này sẽ có khả năng di chuyển theo 2 hướng:

ResultSet srs = stmt.executeQuery("SELECT

COF_NAME, PRICE FROM COFFEES");

Trang 3

createStatement (int resultSetType,

int resultSetConcurrency)

Type:

TYPE_FORWARD_ONLY : chỉ duyệt chiều tiến tới

TYPE_SCROLL_INSENSITIVE : duyệt 2 chiều, khi duyệt không

chú ý đến sự thay đổi dữ liệu

TYPE_SCROLL_SENSITIVE : duyệt 2 chiều, có phát hiện thay

đổi dữ liệu.

Concurrency:

CONCUR_READ_ONLY : ResultSet chỉ đọc, muốn thay đổi dữ

liệu phải dùng câu lệnh executeUpdate();

CONCUR_UPDATABLE : ResultSet có khả năng thay đổi dữ liệu

Trang 4

Duyệt ResultSet

 next(): duyệt tiến, khi hết dòng sẽ trả về false

 previous(): duyệt lùi, khi hết dòng sẽ trả về false

 afterLast(),beforeFirst(): nhảy về sau dòng cuối cùng, trước dòng đầu tiên

 absolute(n): nhảy đến dòng thứ n,

 n là số dương: ví dụ +1, nhảy đến dòng đầu

 n là số âm: ví dụ -1, nhảy đến dòng kế cuối

 relative(n): nhảy lên (nếu n>0), hoặc nhảy lùi về (nếu n<0) n dòng

 first(),last()

 getRow(): cho biết đang ở dòng bao nhiêu

Trang 5

Update với ResultSet

 Jump đến dòng cần update, thực thi các câu lệnh

updateXXX() Ví dụ:

Statement stmt =

con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet CONCUR_UPDATABLE );

ResultSet uprs = stmt.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES");

uprs.last(); //Nhảy đến dòng cuối

uprs.update Float ("PRICE", 10.99);

uprs.updateRow(); //Thực thi update

Trang 6

 ResultSet có một dòng đặc biệt, gọi là Insert Row

 Jump đến insert row, sau đó thực thi các lệnh update uprs.moveToInsertRow();

uprs.updateString("COF_NAME", "Kona");

uprs.updateInt("SUP_ID", 150);

uprs.updateFloat("PRICE", 10.99);

uprs.updateInt("SALES", 0); uprs.updateInt("TOTAL", 0);

uprs.insertRow(); //Thực thi insert

Trang 7

Di chuyển đến dòng cần delete:

uprs.absolute(4);

uprs.deleteRow();

Trang 8

Batch Update

 Thực hiện nhiều câu lệnh Update cùng lúc.

con.setAutoCommit(false);

Statement stmt = con.createStatement();

stmt.addBatch("INSERT INTO COFFEES" +

"VALUES('Amaretto', 49, 9.99, 0, 0)");

stmt.addBatch("INSERT INTO COFFEES" +

"VALUES('Hazelnut', 49, 9.99, 0, 0)");

stmt.addBatch("INSERT INTO COFFEES" +

"VALUES('Amaretto_decaf', 49, 10.99, 0, 0)"); stmt.addBatch("INSERT INTO COFFEES" +

"VALUES('Hazelnut_decaf', 49, 10.99, 0, 0)");

int [] updateCounts = stmt executeBatch ();

con.commit();

Ngày đăng: 16/12/2013, 13:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w