Каждый раз, когда вы позволяете пользователю вводить данные в строку запроса, как эта, вы уязвимы для SQL-инъекций, и этого следует избегать, как чума!
Вы должны быть очень осторожны при заполнении массива searchStrings []. Вы всегда должны добавлять переменные данные к вашему запросу, используя объекты параметров:
+ field1 like @PropertyVal Or field2 like @PropertyVal Or field3 like @PropertyVal etc...
А если вы используете SQL Server, например
Query.Parameters.Add(new SqlParameter("PropertyVal", '%' + searchStrings[i] + '%'));
Будьте очень осторожны при создании строки запроса, которую вы собираетесь запустить на рабочем сервере, особенно если в нем есть какие-либо данные последствий!
В своем примере вы упомянули маленькие столики Бобби
Роберт '); DROP TABLE студентов; -
И процитировал это, потому что ему нужно пустое пространство, вы не могли бы сделать это, но если злонамеренный пользователь закодировал это, используя что-то вроде этого:
Robert');Exec(Replace('Drop_Table_students','_',Char(32)));--
Я бы сказал - лучше быть в безопасности и делать это правильно. В противном случае нет простого способа убедиться, что вы уловили каждый сценарий ...