Alisher Yakhyarov
Дата: 02.04.2010 09:41:15
Доброго времени суток, подскажите как я могу использовать симовлы % в запросе like? Используя запрос показанный ниже возражается нужный результат,
sql = "SELECT [row1], [row2], [row3], [row4] FROM [Test_Db].[dbo].[messages] where row4 like @message_text";
Проблема в том, что используя символы % запрос возращается пустым,
sql = "SELECT [row1], [row2], [row3], [row4] FROM [Test_Db].[dbo].[messages] where row4 like @message_text%";
Вопрос : Как корректно написать этот запрос используя символы %?
prustr
Дата: 02.04.2010 10:25:41
sql = "SELECT [row1], [row2], [row3], [row4] FROM [Test_Db].[dbo].[messages] where row4 like '%" + message_text + "%'";
где message_text это ваша строковая переменная. Этот вариант приводится Вам для понимания того, что аргументом предложения like является строка, заключенная в одинарные ковычки.
prustr
Дата: 02.04.2010 10:43:12
| ShSerge |
Где переменная message_text="%\nDROP DATABASE --" 2ТС. Используйте sp_executeSQL. |
Хороший вариант, только вы забыли одну одинарную ковычку добавить перед дроп.
я вот только не понял, вы что намекаете, что SqlCommand проводит валидацию параметров на предмет эксплойтов? Сейчас проверить не могу, но что то мало верю в это