Как бы вы прошли через>> = в строке запроса? - PullRequest
6 голосов
/ 28 мая 2011

Я хотел бы передать некоторые операторы в качестве параметров строки запроса, чтобы я мог преобразовать их вместе со значением в запрос SQL. Идея состоит в том, чтобы параметры строки запроса определяли, будет ли страница возвращать результаты поиска, где цены равны, больше или равны, больше, меньше или меньше или равны следующим образом:

=, >=, >, < and <=

Я не уверен, что лучший способ пропустить этих операторов - кто-нибудь может мне помочь? Не могли бы вы пройти через коды ascii или просто текст, такой как e, gte, gt, lt, lte, а затем преобразовать их на странице результатов, которая создает запрос?

Спасибо, ребята!

Ответы [ 4 ]

14 голосов
/ 28 мая 2011

Как сказал пользователь Kon , используйте HttpServerUtility.UrlEncode. Однажды я написал маленький класс для упрощения работы со строками запроса , чтобы мне не приходилось вызывать Server.UrlEncode.

В качестве примечания обратите внимание на SQL-инъекцию aka Little Bobby Tables:

Little Bobby Tables ( Источник )

5 голосов
/ 28 мая 2011
0 голосов
/ 03 июля 2019

Вы можете использовать eq, ne, gt, lt, ge, le, sa, eb, ap , как в примерах ниже

  • GET [база] / встреча? Длина = ле 20
  • GET [база] / предметы? Оценка = GT 90

Больше информации вы можете найти на этих сайтах: https://www.hl7.org/fhir/stu3/search.html#number https://www.hl7.org/fhir/stu3/search.html#prefix

0 голосов
/ 28 мая 2011

Кодировка URL определенно то, что вы ищете.Взгляните на пространство имен Web.Utils.http://msdn.microsoft.com/en-us/library/system.web.util.httpencoder.aspx

...