Страница 1 из 1

Как передать соединение в отчет?

Добавлено: 26 ноя 2007, 10:03
Ильдар
Все отчеты созданы так:
/*Открываю Designer, создаю новый отчет.
Создаю новое соединение OLE DB и в поле, куда пишется строка соединения пишу: file name=connect.udl (естественно файл connect.udl у меня лежит в папке с designer'ом и в нем прописано соединение к БД Oracle). Потом дальше создаю новый источник данных из ole db соединения - и спокойно пишу свой sql-запрос, встраиваю в него параметры, получаю колонки, создаю формы, оформляю отчет, короче у меня все работает. Сам отчет сохраняю в формате *.mrt, потом в программе-просмотрщике просто подгружаю его. Однако удобно - чтобы в отчете сменить сервер или источник - не нужно заново пересохранять отчет - достаточно внести изменения в connect.udl - там хоть вместо оракла - mssql или аксесс пропиши - главное чтобы поля были и sql-запрос в отчетах выполнился. К тому же не надо отдельно в проге указывать соединение. Минус в этом - при просмотре нового отчета создается новый коннект к БД. */

Соединение у меня в проге:
Dim constr As String = "User Id="+Filter(Textbox1.text)+";Password="+Filter(Textbox2.text)+";Data Source="+ReadParam(ServerName)
Dim oracon As OracleConnection= New OracleConnection(constr)
oracon.Open()


Нужно избавиться от connect.udl, переписав все соединения.
Как мне передать "oracon" в отчет? Что нужно переделывать в отчете?



Как передать соединение в отчет?

Добавлено: 26 ноя 2007, 13:19
Edward
Вы можете напрямую зарегистрировать соединение oracon в отчете:

report.RegData("MyConnection",oracon);

Если Вы загружаете отчет из mrt файла, то Вы можете удалить из mrt шаблона только Connection.

В этом случае Вы зарегистрируете в отчете Ваше соединение, созданное в основной программе.

Спасибо.