(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Подключение к базе данных внутри отчета

Dmitriy Fedyashov

Один из первых вопросов, возникающий перед разработчиком при освоении FastReport .Net - как подключить данные к отчету? К счастью, этот генератор отчетов обладает интуитивно понятным интерфейсом дизайнера. Однако, я все же сберегу ваше время, если немного расскажу о процедуре подключения источника данных внутри отчета. Забегая вперед, скажу, что собираюсь показать вам, как передать в отчет строку подключения из пользовательского приложения. Поэтому условно разделю статью на две части: подключение к базе данных внутри отчета и передача строки подключения в отчет.

  1. Есть два способа  добавить новый источник данных в отчет:
  • через иконку на панели инструментов вкладки Report;

  • из выпадающего меню Actions в окне "Данные".

Рассмотрим на примере. Создаем источник данных. В открывшемся окне выбираем New connection. Можно выбрать различные типы подключения, вплоть до подключения к базе данных XML. Я воспользуюсь старым добрым MS Access connection.

Далее предлагается выбрать таблицы, с которыми мы будем работать. Однако можно выбрать данные и с помощью SQL-запроса (для xml недоступно). Для этого предусмотрен визуальный конструктор запросов. Впрочем, ничто не мешает написать запрос вручную.

На следующем шаге можно задать параметры запроса. Далее - переопределить типы данных колонок.

Итак, я выбрал две таблицы: employee и orders. Их можно связать по полю EmpNo. Чтобы связать их, открываем выпадающее меню Action в окне "Данные", и выбираем New relation.

Родительская таблица - employee, а дочерняя - orders. Связываем по полю - EmpNo.

Для чего мы это сделали? Теперь мы можем выводить список заказов для каждого сотрудника. Создаем такой нехитрый шаблон отчета:

Здесь бэнд "Данные" содержит детализирующий бэнд "Данные". Как видно - в первом выводится имя и фамилия сотрудника, а во втором -  некоторые данные о заказе.

Добавить детализирующий бэнд "Данные" можно либо из контекстного меню самого бэнда, либо в окне конфигурирования бэндов (Configure bands):

Если сделать двойной клик по первому бэнду  "Данные", мы увидим, что в качестве источника данных выбрана таблица employee. Для второго бэнда "Данные" - orders. Источник данных выбирается автоматически, при добавлении поля в пустой бэнд. Но его можно изменить вручную.

Если источник данных не будет задан - данные не отобразятся. Точнее, отобразится только первая строчка данных для добавленных полей. Сохраняем отчет.

2. Рассмотрим еще одну интересную возможность - возможность передать строку подключения к БД из пользовательского приложения.

Создаем приложение Windows Forms. Добавляем на форму компонент Report из вкладки FastReport .Net и кнопку:

Передача строки подключения в отчет из приложения.

Для начала нужно немного модифицировать созданный ранее отчет. Откроем его в дизайнере.

Создадим параметр отчета. В него мы передадим строку подключения. В окне "Данные" находим элемент Parameters. Правый клик по нему - Новый параметр (New parameter). В окне свойств задаем имя параметра - conn.

Теперь выбираем подключение в окне "Данные". Ниже, в окне свойств, находим ConnectionStringExpression. И добавляем в него созданный нами параметр.

Все. Модификация отчета завершена. Сохраняем его и возвращаемся к программе.

Сделаем двойной клик по кнопке Run. В обработчик события нажатия кнопки добавим основной код приложения:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 private string ReportPath = Environment.CurrentDirectory + "/ConnectionFromApp.frx"; private string DBPath = Environment.CurrentDirectory + "/demo.mdb"; private string ConnStr;   private void RunBtn_Click(object sender, EventArgs e) { using (Report report = new Report()) { report.Load(ReportPath); ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DBPath + ";User ID=Admin"; report.SetParameterValue("conn", ConnStr); report.Show(); } }  

Перед основным действом мы объявили переменные для хранения пути к отчету и базе данных.

По нажатии на кнопку создается экземпляр класса Report. Далее загружаем отчет. Присваиваем значение переменной строки подключения. Присваиваем параметру отчета значение строки подключения. И запускаем отчет. Вуаля!

Итак, из рассмотренного в статье понятно, что подключить отчет к данным - минутное дело. Причем подключить отчет можно практически к любой базе данных. При необходимости, можно передавать в отчет строку подключения. Это удобно, например, когда пользователь сам выбирает место расположения базы данных на локальном диске.

Интернет-магазин
FASTREPORT.NET
 
 
FastReport.Net - Библиотека генерации отчётов и создания документов для .NET 8, Blazor, .NET Core, ASP.NET, MVC и WinForms. Возможно использование в средах Microsoft Visual Studio 2022 и JetBrains Rider.


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 21.03.2016 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
SmartBear Collaborator - Concurrent User License (Includes 1 Year Maintenance)
Allround Automation PL/SQL Developer - Unlimited license
The BAT! Professional - 1 компьютер
Bamboo
Zend Studio Commercial License 1 Year Free Upgrades
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Delphi - проблемы и решения
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100