When using PreparedStatement, what is the main benefit over Statement?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Both A and B are correct". Câu lệnh tham số hoá được gửi tới hệ quản trị dưới dạng khuôn có dấu hỏi làm chỗ trống, nên kế hoạch thực thi được chuẩn bị một lần rồi dùng lại cho nhiều lượt chạy; đồng thời giá trị truyền qua các phương thức đặt tham số được driver chuyển đi như dữ liệu chứ không ghép vào chuỗi SQL, nên kẻ tấn công không chèn thêm được mệnh đề nào. Hai lợi ích vì vậy cùng xuất hiện. "Better performance with repeated queries" đúng nhưng chỉ nêu một nửa, nó bỏ qua lợi ích an toàn, trong khi đó mới là lý do quan trọng nhất khiến người ta rời Statement. "Avoid SQL Injection errors" cũng chỉ nêu nửa còn lại và bỏ qua phần hiệu năng khi chạy lặp. "Automatically commit transactions" sai hẳn vì việc chốt giao dịch do đối tượng kết nối quyết định qua cờ tự commit cùng hai lệnh commit và rollback; loại câu lệnh dùng để chạy SQL không can thiệp vào đó.

Cùng phần 3

Xuất hiện trong 2 bộ đề