Chúng ta đều biết rằng các câu lệnh chuẩn bị là một trong những cách tốt nhất để chống lại các cuộc tấn công SQL injection. Cách tốt nhất để tạo một câu lệnh chuẩn bị với mệnh đề "IN" là gì. Có cách nào dễ dàng để thực hiện việc này với số giá trị không xác định không? Lấy ví dụ sau.Xử lý dữ liệu trong mệnh đề IN, với các tham số SQL?
SELECT ID,Column1,Column2 FROM MyTable WHERE ID IN (1,2,3)
Hiện tại tôi đang sử dụng vòng lặp trên các giá trị có thể để tạo chuỗi như.
SELECT ID,Column1,Column2 FROM MyTable WHERE ID IN (@IDVAL_1,@IDVAL_2,@IDVAL_3)
Có thể sử dụng chỉ chuyển một mảng làm giá trị của tham số truy vấn và sử dụng truy vấn như sau không?
SELECT ID,Column1,Column2 FROM MyTable WHERE ID IN (@IDArray)
Trong trường hợp điều quan trọng Tôi đang làm việc với SQL Server 2000, trong VB.Net
thêm thẻ SQLServer – MotoWilliams
thẻ t-sql cũng có thể thích hợp. –