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

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

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

Thông tin tài liệu

Các khái niệm mới của JDBC 2.0 Đào Anh Tuấn – datuan@fit.hcmuns.edu.vn 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"); createStatement  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 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 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.updateFloat("PRICE", 10.99); uprs.updateRow(); //Thực thi update Insert  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 Delete Di chuyển đến dòng cần delete: uprs.absolute(4); uprs.deleteRow(); 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(); . Các khái niệm mới của JDBC 2. 0 Đào Anh Tuấn – datuan@fit.hcmuns.edu.vn Scrollable ResultSet  Với phiên bản 1 .0, ResultSet chỉ có. "VALUES('Amaretto_decaf', 49, 10. 99, 0, 0) "); stmt.addBatch("INSERT INTO COFFEES" + "VALUES('Hazelnut_decaf', 49, 10. 99, 0, 0) "); int

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