Страница 1 из 2
Сохранение источника данных
Добавлено: 18 авг 2006, 03:39
BeraleX
Существует ли возможность сохранения источника данных вместе с файлом отчета? Если да, то как реализована(или есть способ реализовать?)?
Спасибо.
Сохранение источника данных
Добавлено: 18 авг 2006, 05:19
Xptr
Хороший вопрос, потому как пришлось инфомацию по источнику данных сохранять дополнительно вместе с отчетом в БД.
Сохранение источника данных
Добавлено: 18 авг 2006, 08:46
Vital
Можете уточнить, что подразумевается под сохранением источника данных?
Сохранение источника данных
Добавлено: 18 авг 2006, 09:02
BeraleX
Допустим, я добавляю oledbconnection при запуске приложения с помощью Report.RegData("test",oleDBConnection);, после этого в рантайме редактирую отчет, добавляю источник данных, пишу в нем строку запроса, создаю отчет. Все работает. Сохраняю его в БД (Выхожу из режима дизайнера). При попытке загрузки отчета в режиме просмотра из БД он ничего не показывает, т.к. ссылка на oleDBconnection в экземпляре Report осталась, а вот источника данных нет.
Сохранение источника данных
Добавлено: 18 авг 2006, 09:14
Vital
В этом случае необходимо добавлять новое соединение в report.Dictionary.Databases.
Спасибо.
Сохранение источника данных
Добавлено: 18 авг 2006, 09:19
BeraleX
Как же тогда преобразовать имеющийся объект класса OleDBConnection к вашему классу StiDatabase.
Сохранение источника данных
Добавлено: 18 авг 2006, 09:22
Vital
report.Dictionary.Databases.Add(new StiOleDbDatabase("Name", "Connection String"));
name - нужно использовать в свойстве источника данных DataName.
p.s. Мы добавим возможность автоматического преобразования. Спасибо.
Спасибо.
Сохранение источника данных
Добавлено: 18 авг 2006, 09:51
BeraleX
Спасибо за ответ. Если можно, сообщитепожалуйста, когда будет добавлена возможность. Вопрос об oleDbConnection стоит достаточно остро. Вообще очень нежелательно создавать еще одно соединение с БД, когда одно уже есть. Как вы планируете реализовать функцию приведения? Если просто реализовать преобразование с помощью метода создания соединения вашего объекта (StiOleDbDatabase("Name", "Connection String")), то это не решит проблему дополнительного соединения. Хотелось бы напрямую использовать существующее уже соединение.
Сохранение источника данных
Добавлено: 18 авг 2006, 09:52
BeraleX
Спасибо за ответ. Если можно, сообщитепожалуйста, когда будет добавлена возможность. Вопрос об oleDbConnection стоит достаточно остро. Вообще очень нежелательно создавать еще одно соединение с БД, когда одно уже есть. Как вы планируете реализовать функцию приведения? Если просто реализовать преобразование с помощью метода создания соединения вашего объекта (StiOleDbDatabase("Name", "Connection String")), то это не решит проблему дополнительного соединения. Хотелось бы напрямую использовать существующее уже соединение.
Сохранение источника данных
Добавлено: 18 авг 2006, 13:45
Vital
К сожалению, это будет именно просто функция приведения. Вам необходимо зарегестрировать внешнее соединение через RegData.
Перед режимом просмотра, после загрузки отчета, нужно зарегестрировать соединение точно также как и перед вызовом
дизанера. Иначе как генератор отчетов узнает о текущем, необходимом соединение с базой данных? Если у Вас есть идеи как улучшить ситуацию
пожалуйста излагайте. С нашей стороны это только приветсвуется.
Спасибо.