Giống như ADO.NET adapter dữ liệu, một nguồn dữ liệu SQL có thể bao gồm Insert, Update, và Delete báo cáo cho phép bạn tự động cập nhật cơ sở dữ liệu cơ bản dựa trên những thay đổi được thực hiện bởi người sử dụng để kiểm soát dữ liệu ràng buộc. Để tự động matically tạo ra các báo cáo, bạn có thể đánh dấu vào ô đầu tiên trong hộp thoại xuất hiện như trong hình 13-18, được hiển thị khi bạn bấm vào nút Advanced trong hộp thoại xuất hiện như trong hình 13-5. Bạn cũng có thể kiểm tra hộp cho đồng thời lạc quan, trong đó tăng cường các báo cáo được tạo ra để họ kiểm tra xem hàng được cập nhật hoặc xóa đã thay đổi kể từ nguồn dữ liệu lấy các dữ liệu ban đầu.
Lưu ý rằng để làm việc này, các cột khóa chính của bảng bạn ' re cập nhật phải được bao gồm trong báo cáo Chọn. Đó là bởi vì cột này được sử dụng để xác định một hàng mà đang được cập nhật hoặc xóa. Vì vậy, nếu các tùy chọn Tạo trong các chi tiết hệ SQL tùy chọn hộp thoại không được kích hoạt, nó có thể là vì bạn chưa chọn cột khóa chính.
Các mã trong con số này cho thấy các yếu tố aspx được tạo ra khi bạn yêu cầu Insert, Update, Xóa và báo cáo mà không cần sử dụng concur¬rency lạc quan. Ở đây, các attri¬butes InsertCommand, UpdateCommand, và DeleteCommand cung cấp các báo cáo, và các yếu tố InsertParameters, UpdateParameters, và DeleteParameters con xác định các thông số được sử dụng bởi các báo cáo này. Bởi vì đồng thời lạc quan không được sử dụng, các báo cáo này sẽ cập nhật cơ sở dữ liệu có hay không các dữ liệu đã thay đổi kể từ khi nó đã được ban đầu được lấy ra, mà có thể dẫn đến hỏng dữ liệu.
Nếu bạn đánh dấu vào hộp kiểm Sử dụng truy cập đồng thời lạc quan, mặc dù, các bản cập nhật và xóa lệnh này sẽ bao gồm các khoản đâu mà so sánh giá trị của mỗi cột với giá trị ban đầu được lấy ra. Do các giá trị này là tham số, mã aspx tạo ra sẽ bao gồm thêm các yếu tố để xác định các thông số này. Việc kiểm soát SqlDataSource cũng sẽ bao gồm hai thuộc tính bổ sung. Người đầu tiên chỉ ra rằng đồng thời lạc quan nên được sử dụng, và điều thứ hai chỉ ra các định dạng mà nên được sử dụng cho tên của các tham số sẽ giữ các giá trị cột gốc. Sau đó, nếu giá trị của bất kỳ cột đã thay đổi kể từ khi nó đã được ban đầu được lấy ra, cập nhật hoặc xóa opera¬tion sẽ bị từ chối, và ứng dụng của bạn cần phải cung cấp mã để xử lý tình huống đó. Bạn sẽ thấy như thế nào mà làm việc trong chương 14
đang được dịch, vui lòng đợi..
