Danh mục

Programming - Lập Trình Giao Thức, Đường WAN Phần 10

Số trang: 16      Loại file: pdf      Dung lượng: 504.76 KB      Lượt xem: 1      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Các giá trị trả về của phương thức executeUpdate Phương thức executeQuery trả về một đối tượng ResultSet chứa các kết quả của truy vấn được gửi tới hệ quản trị cơ sở dữ liệu, giá trị trả về khi xử lý phương thức.
Nội dung trích xuất từ tài liệu:
Programming - Lập Trình Giao Thức, Đường WAN Phần 10 } catch(SQLException e){ e.printStackTrace(); } } } Sử dụng một vòng lặp để thiết lập các giá trị Ta có thể sử dụng vòng lặp để thiết lập các giá trị cho các tham số đầu vào. PreparedStatement updateSales; String updateString = update COFFEES + set SALES = ? where COF_NAME like ?; updateSales = con.prepareStatement(updateString); int [] salesForWeek = {175, 150, 60, 155, 90}; String [] coffees = {Colombian, French_Roast, Espresso, Colombian_Decaf, French_Roast_Decaf}; int len = coffees.length; for(int i = 0; i < len; i++) { updateSales.setInt(1, salesForWeek[i]); updateSales.setString(2, coffees[i]); updateSales.executeUpdate(); }Các giá trị trả về của phương thức executeUpdatePhương thức executeQuery trả về một đối tượng ResultSet chứa các kết quả của truyvấn được gửi tới hệ quản trị cơ sở dữ liệu, giá trị trả về khi xử lý phương thứcexecuteUpdate là một số nguyên int chỉ ra số hàng trong bảng đã được cập nhật. updateSales.setInt(1, 50); updateSales.setString(2, Espresso); int n = updateSales.executeUpdate(); // n = 1 because one row had a change in it8. Sử dụng các giao tácQuản lý giao tác Một giao tác là một tập hợp một hoặc nhiều lệnh được xử lý cùng với nhau nhưmột chỉnh thể thống nhất (đơn vị). Khi xử lý một giao tác hoặc tất cả các lệnh được xử lýhoặc không lệnh nào được xử lý. Nhiều trường hợp ta không muốn một lệnh có hiệu lựcngay nếu lệnh khác không thành công. Điều này có thể được thực hiện nhờ phương thức setAutoCommit() của đối tượngConnection. Phương thức này nhận một giá trị boolean làm tham số.. Ngăn chế độ Auto-commit Khi một liên kết được tạo ra, thì liên kết đó ở chế độ auto-commit. Mỗi lệnh SQL được xem như là một giao tác và sẽ được tự động hoàn thành ngaykhi nó được xử lý. Cách để cho phép hai hoặc nhiều lệnh được nhóm cùng với nhau thành một giaotác là cấm chế độ auto-commit. Ví dụ: con.setAutoCommit(false);Xác nhận hoàn thành một giao tácMỗi khi chế độ auto-commit bị cấm, không có lệnh SQL nào sẽ được xác nhận hoànthành cho tới khi ta gọi phương thức commit(). 15 Sưu t m b i: www.daihoc.com.vnTa có thể thực hiện điều này bằng cách gọi phương thức commit() của các đối tượng liênkết.Nếu ta cố gắng xử lý một hay nhiều lệnh trong một giao tác và nhận được một ngoại lệSQLException, ta cần gọi phương thức rollback() để hủy bỏ giao tác và khởi động lại toànbộ giao tác. con.setAutoCommit(false); PreparedStatement updateName =null; String query = null; Query=UPDATE license SET name = ? WHERE id = 126 updateName= con.prepareStatement(query); updateName.setString(1, name); updateName.executeUpdate(); PreparedStatement updateSex = null; query = UPDATE test SET test_value =?” updateSex = con.prepareStatement(query); updateSex.setString(1, Male); updateSex.executeUpdate(); con.commit(); con.setAutoCommit(true);Ví dụ: import java.sql.*; public class PreparedUpdate{ public static void main(String args[]) throws Exception{ int empid; int rows=0; String LastName; String FirstName; String query = insert into EMP +(EmployeeID,LASTNAME,FIRSTNAME) +values +(?,?, ?); try { Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection con =DriverManager.getConnection (jdbc:odbc:MyData); con.setAutoCommit(false); PreparedStatement pstmt = con.prepareStatement(query); pstmt.setInt(1,Integer.parseInt(args[0])); pstmt.setString(2,args[1]); pstmt.setString(3,args[2]); rows = pstmt.executeUpdate( ); pstmt.close( ); 16 Sưu t m b i: www.daihoc.com.vn pstmt = null; System.out.println(rows + rows inserted); System.out.println(); con.commit(); } catch(ClassNotFoundException e){ e.printStackTrace(); } catch(SQLException e){ e.printStackTrace(); } } }8. Sử dụng các giao tácSau đó thực hiện các lệnh: Các chương trình Java chỉ thực hiện được các lệnh trênCSDL thông qua đối tượng Statement.Các câu lệnh SQL có thể được thực hiện tức thì thông qua đối tượng Statement, có thểlà một câu lệnh biên dịch trước (đối tượng PreparedStatement) hay có thể là một lệnhgọi các thủ tục cài sẵn (Stored Procedure) trong CSDL (đối tượng CallableStatement).Các câu lệnh SQL có thể được thực hiện thông qua phương thức executeQuery() – kếtquả là một đối tượng ResultSet, hay phương thức executeUpdate() – kết quả là một sốnguyên cho biết tổng số các record chịu ảnh hưởng của câu lệnh vừa thực hiện (thườnglà các câu lệnh sửa đổi dữ liệu Update - Delete).Trong trường hợp có sử dụng trình quản lý transaction, các phương thức rollback() đượcdùng để phục hồi trạng thái trước đó và commit() đế xác nhận việc thực hiện lệnh.Để chấm dứt cần xóa kết nối, xóa các đối tượng để giải phóng tài nguyên của hệ thống.. ...

Tài liệu được xem nhiều: