Динамическое подключение данных на основе других источников данных

Обсуждение Stimulsoft Reports.NET
Ответить
rvz
Сообщения: 5
Зарегистрирован: 17 май 2022, 11:59

Динамическое подключение данных на основе других источников данных

Сообщение rvz »

Ситуация следующая. Имеется источник данных, в свойствах которого указано "Connect on Start". Здесь всё работает, как и положено.

Имеется другой источник данных - SQLQuery2, в свойствах которого отключено "Connect on Start". Подключение осуществляется из кода в событиях:

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

SQLQuery2.Connect();
До этого момента всё продолжает работать.

Имеется ещё один источник данных OrdersSQL "на основе других источников данных", ссылающийся на SQLQuery2 и с отключенным "Connect on Start".
Код в событии:

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

SQLQuery2.Connect();
OrdersSQL.Connect();
OrdersSQL данными не заполняется.

Вопрос - чего не хватает?
Спасибо.
Aleksey
Сообщения: 2761
Зарегистрирован: 22 апр 2010, 06:57

Re: Динамическое подключение данных на основе других источников данных

Сообщение Aleksey »

Здравстуйте,

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

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

SQLQuery2.ConnectOnStart = true;
SQLQuery2.Connect();
OrdersSQL.ConnectOnStart = true;
OrdersSQL.Connect();
Спасибо.
rvz
Сообщения: 5
Зарегистрирован: 17 май 2022, 11:59

Re: Динамическое подключение данных на основе других источников данных

Сообщение rvz »

Aleksey писал(а): 17 май 2022, 13:46 Попробуйте следующий код:
Алексей, к сожалению, не получилось. То есть, результат тот же - SQLQuery2 наполняется данными, а OrdersSQL, созданный на его основе, остаётся пустым.
Aleksey
Сообщения: 2761
Зарегистрирован: 22 апр 2010, 06:57

Re: Динамическое подключение данных на основе других источников данных

Сообщение Aleksey »

Здравствуйте,

К сожалению, сложно что-то сказать без примера.

Спасибо.
rvz
Сообщения: 5
Зарегистрирован: 17 май 2022, 11:59

Re: Динамическое подключение данных на основе других источников данных

Сообщение rvz »

Aleksey писал(а): 19 май 2022, 00:19 К сожалению, сложно что-то сказать без примера.
Алексей, спасибо Вам за желание помочь!
На самом деле, пример и не нужен особо. Ещё раз вкратце.

SQLQuery2 - источник из MS SQL
OrdersSQL - источник, созданный на базе SQLQuery2 (группировка, фильтры и т.д).
Если для обоих источников включить "Connect on Start", то всё в порядке. Оба наполняются данными.
Отключаю у обоих "Connect on Start". Из события подключаю:

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

SQLQuery2.Connect();
OrdersSQL.Connect();
Результат: SQLQuery2 - данные присутствуют. OrdersSQL - пуст.
Я предполагаю, что что-то я упускаю по коду. Подключение прямого запроса SQL из кода срабатывает. А подключение "представления" на его основе - нет.
Может, нужно указать задержку? Или проверить сначала по событию, наполнился ли SQLQuery2 данными, прежде чем подключать OrdersSQL?
Запросы к базе выполняются синхронно? По идее да, тем не менее, чего-то не хватает. А чего конкретно - непонятно.
Aleksey
Сообщения: 2761
Зарегистрирован: 22 апр 2010, 06:57

Re: Динамическое подключение данных на основе других источников данных

Сообщение Aleksey »

Здравствуйте,

Уточните что значит - "OrdersSQL - источник, созданный на базе SQLQuery2 (группировка, фильтры и т.д)."? Вы имеете в виду "Data from Other Data Source" источник?

Спасибо.
rvz
Сообщения: 5
Зарегистрирован: 17 май 2022, 11:59

Re: Динамическое подключение данных на основе других источников данных

Сообщение rvz »

Aleksey писал(а): 21 май 2022, 12:03 Вы имеете в виду "Data from Other Data Source" источник?

Спасибо.
Да, совершенно верно!
Aleksey
Сообщения: 2761
Зарегистрирован: 22 апр 2010, 06:57

Re: Динамическое подключение данных на основе других источников данных

Сообщение Aleksey »

Здравствуйте,

Надо дополнительное время для анализа проблемы.

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