TAILIEUCHUNG - Các khái niệm mới của JDBC 2.0
Với phiên bản , ResultSet chỉ có thể duyệt theo 1 chiều là forward. Với phiên bản , ResultSet có thể duyệt cả chiều forward và backward. Sự thay đổi nằm ở câu lệnh createStatement: | Các khái niệm mới của JDBC Đào Anh Tuấn – datuan@ Scrollable ResultSet Với phiên bản , ResultSet chỉ có thể duyệt theo 1 chiều là forward Với phiên bản , ResultSet có thể duyệt cả chiều forward và backward. Sự thay đổi nằm ở câu lệnh createStatement: Statement stmt = (, ); ResultSet trả về bởi statement này sẽ có khả năng di chuyển theo 2 hướng: ResultSet srs = ("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 = (, ); ResultSet uprs = ("SELECT COF_NAME, PRICE FROM COFFEES"); (); //Nhảy đến dòng cuối ("PRICE", ); (); //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 (); ("COF_NAME", "Kona"); ("SUP_ID", 150); ("PRICE", ); ("SALES", 0); ("TOTAL", 0); (); //Thực thi insert Delete Di chuyển đến dòng cần delete: (4); (); Batch Update Thực hiện nhiều câu lệnh Update cùng lúc. (false); Statement stmt = (); ("INSERT INTO COFFEES" + "VALUES(Amaretto, 49, , 0, 0)"); ("INSERT INTO COFFEES" + "VALUES(Hazelnut, 49, , 0, 0)"); ("INSERT INTO COFFEES" + "VALUES(Amaretto_decaf, 49, , 0, 0)"); ("INSERT INTO COFFEES" + "VALUES(Hazelnut_decaf, 49, , 0, 0)"); int [] updateCounts = (); ();
đang nạp các trang xem trước