Khi viết câu lệnh sql trong C# nếu viết bình thường ta sẽ dính lỗi sql injection:
ví dụ:
Code:
String name = textBox1.text();
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand("SELECT * FROM user WHERE (Name ='" & name & "')" ,connection);
vì vậy khi nhập một số chuỗi đặc biệt có thể dẫn đến lỗi sql injection, ví dụ nhập "1'OR 1='1",...
ta nên dùng sqlParameter để tránh lỗi này.
Code:
String name = textBox1.text();
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand("SELECT * FROM user WHERE Name LIKE @Name",connection);
command.Parameters.Add(new SqlParameter("Name", name));
với việc dùng sql parameter thì các tham số truyền vào sẽ được kiểm soát nhằm tránh lỗi sql injection.