Все отчеты созданы так:
/*Открываю 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" в отчет? Что нужно переделывать в отчете?
Как передать соединение в отчет?
Как передать соединение в отчет?
Вы можете напрямую зарегистрировать соединение oracon в отчете:
report.RegData("MyConnection",oracon);
Если Вы загружаете отчет из mrt файла, то Вы можете удалить из mrt шаблона только Connection.
В этом случае Вы зарегистрируете в отчете Ваше соединение, созданное в основной программе.
Спасибо.
report.RegData("MyConnection",oracon);
Если Вы загружаете отчет из mrt файла, то Вы можете удалить из mrt шаблона только Connection.
В этом случае Вы зарегистрируете в отчете Ваше соединение, созданное в основной программе.
Спасибо.