+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 92.51 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

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

21.03.2016 17:03
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 - Генератор отчетов с широчайшими возможностями для Windows Forms, ASP.NET, MVC и .NET Core Framework. Совместим с Microsoft Visual Studio 2022

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года