(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
Quest Software. TOAD Professional Edition
Delphi Professional Named User
TeeChart for .NET Standard Business Edition 2017 single license
ABBYY Lingvo x6 Английская Домашняя версия, электронный ключ
SmartBear LoadComplete - Node-Locked License Subscription w/ 250 Virtual Users (includes 1 year of Maintenance)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Программирование на Visual С++
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100