Về cơ bản, khi bạn thực hiện một SQLCommand
sử dụng SQLParameters
, các tham số không bao giờ được chèn trực tiếp vào câu lệnh. Thay vào đó, một thủ tục được hệ thống lưu trữ có tên là sp_executesql
được gọi và cho chuỗi SQL và mảng tham số.
Khi được sử dụng như vậy, các tham số được tách biệt và được coi là dữ liệu, thay vì phải được phân tích cú pháp ra khỏi câu lệnh (và do đó có thể thay đổi nó), vì vậy những gì tham số chứa không bao giờ có thể được "thực thi". Bạn sẽ chỉ nhận được một lỗi lớn là giá trị tham số không hợp lệ theo một cách nào đó.