Событие после выборки данных из БД
- Андрей Сорокин
- Сообщения: 107
- Зарегистрирован: 02 июл 2009, 11:31
- Откуда: Bryansk, Russia
- Контактная информация:
Re: Событие после выборки данных из БД
Спасибо за ответ!
Re: Событие после выборки данных из БД
Здравствуйте.
Мы всегда рады вам помочь.
Обращайтесь ещё, если будут вопросы.
Отдельное спасибо Леониду за помощь и объяснения по работе с нашим продуктом.
Спасибо.
Мы всегда рады вам помочь.
Обращайтесь ещё, если будут вопросы.
Отдельное спасибо Леониду за помощь и объяснения по работе с нашим продуктом.
Спасибо.
- Андрей Сорокин
- Сообщения: 107
- Зарегистрирован: 02 июл 2009, 11:31
- Откуда: Bryansk, Russia
- Контактная информация:
Re: Событие после выборки данных из БД
Добрый день,
возникла ещё одна проблема. Я обработал событие StiOptions.Engine.GlobalEvents.ReportEndRender, в случае отсутствия данных генерю Exception чтобы прервать дальнейшее отображение отчёта.
Но, если произошла ошибка выполнения SQL-процедуры, невозможно получить Exception этой ошибки для анализа: по всей видимости исключение генерится после отработки события ReportEndRender. Хотелось бы сначала обработать SQLException, а потом уже выводить сообщение об отсутствии данных, если это произошло не по причине ошибки.
возникла ещё одна проблема. Я обработал событие StiOptions.Engine.GlobalEvents.ReportEndRender, в случае отсутствия данных генерю Exception чтобы прервать дальнейшее отображение отчёта.
Но, если произошла ошибка выполнения SQL-процедуры, невозможно получить Exception этой ошибки для анализа: по всей видимости исключение генерится после отработки события ReportEndRender. Хотелось бы сначала обработать SQLException, а потом уже выводить сообщение об отсутствии данных, если это произошло не по причине ошибки.
Re: Событие после выборки данных из БД
Здравствуйте.
На данный момент у нас нет ответа.
Нам надо некоторое время, чтобы найти решение для вас.
Спасибо.
Ticket reference: #5903
На данный момент у нас нет ответа.
Нам надо некоторое время, чтобы найти решение для вас.
Спасибо.
Ticket reference: #5903
Re: Событие после выборки данных из БД
Здравствуйте.
В некоторых случаях ошибка "проглатывается", в некоторых пробрасывается дальше.
Вызов события ReportEndRender происходит в finally блоке одного из опeраторов try..catch после построения всего отчёта, и однозначно уже после ошибки в SQL-процедуре.
В данном случае неясно, где именно происходит ошибка, но похоже что она "проглатывается".
Если отчёт не начинает строиться, т.е. дело не доходит до вызова метода BeginRender первой страницы,
то как вариант решения проблемы, вы можете добавить в отчёт переменную типа bool, и устанавливать её значение в true в событии BeginRender первой страницы.
А в событии EndRender проверять её значение.
Если false - значит скорее всего произошла ошибка при получении данных, и до построения отчёта дело не дошло.
Чтобы дать более конкретные рекомендации - вышлите пример проекта, на котором проблема воспроизводится.
Спасибо.
В нашем продукте часто используются операторы try...catch.Андрей Сорокин писал(а):Но, если произошла ошибка выполнения SQL-процедуры, невозможно получить Exception этой ошибки для анализа: по всей видимости исключение генерится после отработки события ReportEndRender. Хотелось бы сначала обработать SQLException, а потом уже выводить сообщение об отсутствии данных, если это произошло не по причине ошибки.
В некоторых случаях ошибка "проглатывается", в некоторых пробрасывается дальше.
Вызов события ReportEndRender происходит в finally блоке одного из опeраторов try..catch после построения всего отчёта, и однозначно уже после ошибки в SQL-процедуре.
В данном случае неясно, где именно происходит ошибка, но похоже что она "проглатывается".
Если отчёт не начинает строиться, т.е. дело не доходит до вызова метода BeginRender первой страницы,
то как вариант решения проблемы, вы можете добавить в отчёт переменную типа bool, и устанавливать её значение в true в событии BeginRender первой страницы.
А в событии EndRender проверять её значение.
Если false - значит скорее всего произошла ошибка при получении данных, и до построения отчёта дело не дошло.
Чтобы дать более конкретные рекомендации - вышлите пример проекта, на котором проблема воспроизводится.
Спасибо.