参数化查询是一种用于防止SQL注入攻击的重要技术。在C#中使用ADO.NET进行参数化查询的方法如下:
string sql = "SELECT * FROM Users WHERE Username = @Username";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@Username", username);
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
// 处理查询结果
}
}
通过使用参数化查询,可以确保输入的值不会被解释为SQL代码,从而有效防止SQL注入攻击。此外,参数化查询还可以提高查询性能,因为数据库引擎可以对参数进行优化。