検索で、以下のように形成された SQL クエリでパラメーター化された文字列を使用しているのを見てきました。
SqlCommand comm = new SqlCommand();
comm.CommandText="SELECT * FROM table WHERE field LIKE '%'+@var+'%'";
comm.Parameters.AddWithValue("var","variabletext");
SqlDataReader reader = comm.ExecuteReader();
ただし、このフォーラムでは、パラメータ化された文字列で使用されているにもかかわらず、SQL インジェクションの対象であることが言及されました。連結された文字列はすべてのパラメーター化されたセキュリティをバイパスし、値を文字列として直接挿入するだけであると想定できます。この場合、SQL コード インジェクションを回避しながら、パラメーター化されたクエリでワイルドカード演算子を使用するにはどうすればよいでしょうか。