Сохранение источника данных

Обсуждение Stimulsoft Reports.NET
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Сохранение источника данных

Сообщение BeraleX »

Существует ли возможность сохранения источника данных вместе с файлом отчета? Если да, то как реализована(или есть способ реализовать?)?
Спасибо.
Xptr
Сообщения: 17
Зарегистрирован: 14 авг 2006, 04:42
Откуда: Россия

Сохранение источника данных

Сообщение Xptr »

Хороший вопрос, потому как пришлось инфомацию по источнику данных сохранять дополнительно вместе с отчетом в БД.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Сохранение источника данных

Сообщение Vital »


Можете уточнить, что подразумевается под сохранением источника данных?
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Сохранение источника данных

Сообщение BeraleX »

Допустим, я добавляю oledbconnection при запуске приложения с помощью Report.RegData("test",oleDBConnection);, после этого в рантайме редактирую отчет, добавляю источник данных, пишу в нем строку запроса, создаю отчет. Все работает. Сохраняю его в БД (Выхожу из режима дизайнера). При попытке загрузки отчета в режиме просмотра из БД он ничего не показывает, т.к. ссылка на oleDBconnection в экземпляре Report осталась, а вот источника данных нет.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Сохранение источника данных

Сообщение Vital »

В этом случае необходимо добавлять новое соединение в report.Dictionary.Databases.

Спасибо.
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Сохранение источника данных

Сообщение BeraleX »

Как же тогда преобразовать имеющийся объект класса OleDBConnection к вашему классу StiDatabase.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Сохранение источника данных

Сообщение Vital »


report.Dictionary.Databases.Add(new StiOleDbDatabase("Name", "Connection String"));

name - нужно использовать в свойстве источника данных DataName.

p.s. Мы добавим возможность автоматического преобразования. Спасибо.

Спасибо.
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Сохранение источника данных

Сообщение BeraleX »

Спасибо за ответ. Если можно, сообщитепожалуйста, когда будет добавлена возможность. Вопрос об oleDbConnection стоит достаточно остро. Вообще очень нежелательно создавать еще одно соединение с БД, когда одно уже есть. Как вы планируете реализовать функцию приведения? Если просто реализовать преобразование с помощью метода создания соединения вашего объекта (StiOleDbDatabase("Name", "Connection String")), то это не решит проблему дополнительного соединения. Хотелось бы напрямую использовать существующее уже соединение.
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Сохранение источника данных

Сообщение BeraleX »

Спасибо за ответ. Если можно, сообщитепожалуйста, когда будет добавлена возможность. Вопрос об oleDbConnection стоит достаточно остро. Вообще очень нежелательно создавать еще одно соединение с БД, когда одно уже есть. Как вы планируете реализовать функцию приведения? Если просто реализовать преобразование с помощью метода создания соединения вашего объекта (StiOleDbDatabase("Name", "Connection String")), то это не решит проблему дополнительного соединения. Хотелось бы напрямую использовать существующее уже соединение.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Сохранение источника данных

Сообщение Vital »

К сожалению, это будет именно просто функция приведения. Вам необходимо зарегестрировать внешнее соединение через RegData.
Перед режимом просмотра, после загрузки отчета, нужно зарегестрировать соединение точно также как и перед вызовом
дизанера. Иначе как генератор отчетов узнает о текущем, необходимом соединение с базой данных? Если у Вас есть идеи как улучшить ситуацию
пожалуйста излагайте. С нашей стороны это только приветсвуется.

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