Передача параметра через URL

Обсуждение Stimulsoft Reports.WEB
Ответить
AlexandrBogdanov
Сообщения: 5
Зарегистрирован: 03 сен 2012, 17:25

Передача параметра через URL

Сообщение AlexandrBogdanov »

Здравствуйте! Подскажите, пожалуйста, каким образом можно передать в отчет параметр типа строка и дата через URL и как к ним обратиться в самом отчете. С числовым типов все получается, передаем так: ...&param1=10. Затем обращаемся к этому параметру в запросе отчета select * from mytable where field1 = {param1}. Со строками и датами сделать что-то подобное не получилось. Подскажите, пожалуйста. Сейчас завершаем проект, после которого планируем приобрести стимулсофт. Вот осталось эта единственная загвоздочка из-за которой так доконца не получается доделать пользовательский фильтр.

С уважением,
Александр
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Re: Передача параметра через URL

Сообщение Vladimir »

Здравствуйте, Александр

Попробуйте следующий способ:

...&param1=mystr&param2=2012-09-06

select * from mytable where field1 = '{param1}' AND field2 = '{param2}'

То есть, переданные параметры в SQL запросе взять в кавычки. Если в значениях параметров так же будут присутствовать кавычки, то они будут автоматически экранированы в целях безопасности.

Спасибо.
AlexandrBogdanov
Сообщения: 5
Зарегистрирован: 03 сен 2012, 17:25

Re: Передача параметра через URL

Сообщение AlexandrBogdanov »

Благодарим за быстрый и оперативный ответ! Все оказалось так, как вы и сказали. Но теперь появилась новая проблема. Дело в том, что в Опере кириллические символы кодируются в url и поэтому, если мы передаем в качестве параметра, например, такой ...&surname=Богданов, Опера преобразует его в &surname=%C1%EE%E3%E4%E0%ED%EE%E2. А стимулсофт в свою очередь преобразует его в Áîãäàíîâ. В результате возникает ошибка "Data not found". То есть преобразование происходит видимо некорректно. С латинскими символами в свою очередь все хорошо и отчет отрабатывает правильно. Не подскажите, как исправить эту ошибку?

С уважением,
Александр.

PS В файле index пытались делать преобразование переменной, но у нас самостоятельно это сделать не получилось. Так или иначе возникала ошибка Data not found
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Re: Передача параметра через URL

Сообщение Vladimir »

Здравствуйте, Александр

Для кодирования URL попробуйте использовать следующий метод:

Код: Выделить всё

string url = "...&surname=Богданов";
url = System.Web.HttpUtility.UrlEncode(url);
Спасибо.
AlexandrBogdanov
Сообщения: 5
Зарегистрирован: 03 сен 2012, 17:25

Re: Передача параметра через URL

Сообщение AlexandrBogdanov »

Благодарим за совет!

С уважением, Александр.
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Re: Передача параметра через URL

Сообщение Vladimir »

Здравствуйте, Александр

Всегда рады Вам помочь!

Спасибо.
Ответить