Параметризованный динамический SQL-запрос

У меня есть список ключевых слов, которые я храню в списке.

Чтобы получить записи из таблицы, я использую следующий запрос:

sqlBuilder.Append("SELECT name, memberid FROM members WHERE");
StringBuilder sqlBuilder = new StringBuilder();
foreach (string item in keywords)
            {
            sqlBuilder.AppendFormat(" LOWER(Name) LIKE '%{0}%' AND", item); 
            }
string sql = sqlBuilder.ToString();

Как вы могли заметить, мой запрос уязвим для внедрения SQL, поэтому я хочу использовать параметры, используя SqlCommand (). Я пробовал следующее, но до сих пор нет работа:

foreach (string item in keywords)
            {    
                sqlBuilder.AppendFormat(" LOWER(Name) LIKE '%' + @searchitem + '%' AND", item);
                SqlCommand cmd = new SqlCommand(sqlBuilder.ToString());
                cmd.Parameters.AddWithValue("@searchitem",item);
             }

Где я мог сделать ошибку, или, вернее, как я должен об этом сказать?

Ответы на вопрос(2)

Ваш ответ на вопрос