При реализации поиска данных по ключевым словам может возникнуть задача поиска по включению каждого слова или поиска значений, включающих хотя бы одно слово. Для реализации такого поиска необходимо полученную строку #keywords# преобразовать с части строки WHERE для прямого поиска по базе данных.
Ниже приведен пример алгоритма формирования такой строки
"";
// берем входную строку #keywords# и разбиваем по словам
var t = "#keywords#"; var t2 = t.Split(' ');
// перебираем все слова
foreach(var t3 in t2)
{
if(string.IsNullOrWhiteSpace(t3.Trim())) // пропускаем пустые слова
continue;
// Добавляем OR (должно быть любое из слов) или AND (должны быть все слова), если строка поиска уже не пустая
if(!string.IsNullOrWhiteSpace(r))
r = r + " OR ";
// добавляем к строке поиска. Title - имя поля в базе для поиска
r = r + "Title LIKE (N'%" + t3.Trim() + "%')";
}