
Programming - Lập Trình Giao Thức, Đường WAN Phần 10
Thông tin tài liệu:
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ìm kiếm theo từ khóa liên quan:
Tài liệu IT Tài liệu lập trình Thủ thuật lập trình Kiến thức lập trình Học lập trình Công cụ lập trìnhTài liệu có liên quan:
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 243 0 0 -
Thủ thuật giúp giải phóng dung lượng ổ cứng
4 trang 222 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 186 0 0 -
Hướng dẫn lập trình với Android part 4
5 trang 158 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 141 0 0 -
142 trang 133 0 0
-
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 121 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 6
21 trang 107 0 0 -
150 trang 107 0 0
-
7 trang 105 0 0
-
78 trang 104 0 0
-
8 trang 98 0 0
-
87 trang 84 0 0
-
Bài giảng lập trình c căn bản - Trường Apptech - Chương 12
28 trang 78 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 3
25 trang 58 0 0 -
Ngân hàng câu hỏi trắc nghiệm về lập trình web ASP.Net (C#)
11 trang 51 0 0 -
Ngân hàng đề thi học phần Nhập môn tin học - Nhập môn lập trình
18 trang 51 0 0 -
Những công cụ chỉnh sửa video trực tuyến
4 trang 45 0 0 -
The CISA Prep Guide Mastering the Certified Information Systems Auditor Exam phần 1
60 trang 45 0 0 -
C# và các lớp cơ sở System.object
9 trang 45 0 0