Здесь:
foreach(var w in words)
{
command.Parameters["@tokens"].Value = _words[w];
command.ExecuteNonQuery();
}
Вы пытаетесь использовать _words
, который нигде не объявлен.Это опечатка, я думаю, вы хотели использовать words
(без подчеркивания).
Вы уже зацикливаете слова в foreach
, поэтому вам не нужно обращаться к words
как массив, но непосредственно переменная w
, объявленная в foreach.Кроме того, в настоящее время вы оставляете только последнее слово в качестве параметра sql, поскольку вы не объединяете их значение, оно всегда присваивается.
Вы можете объединить все слова без foreach
, используя String.Join()
:
command.Parameters["@tokens"].Value = String.Join("", words.ToArray());
Вы также можете опустить все разбиение и foreach и напрямую удалить все пробелы с помощью простого replace()
:
command.Parameters["@tokens"].Value = allcomments.Replace(" ", "");