logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • Статьи
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • Как создать подключение к базе данных JSON для отчета из кода приложения
  • Подключение к Elasticsearch

    10 ноября 2021 г.

    Теперь в продуктах FastReport .NET, Core, Mono, OpenSource появилась возможность подключения к Elasticsearch. Elasticsearch –

    Подробнее
  • Как подключиться к VistaDB

    15 ноября 2019 г.

    База данных Vista отнисится к типу встраиваемых баз. Эти базы отличаются от клиент серверных СУБД

    Подробнее
  • Как подключиться к OracleDB из FastReport .NET

    15 ноября 2019 г.

    Прежде всего, вы можете использовать ODBC коннектор. Но это сопряжено с множеством настроек. Как видите, вам

    Подробнее
  • Как подключить базу данных IBM DB2 в дизайнере отчетов FastReport .NET

    15 ноября 2019 г.

    Для подключения отчета к базе данных DB2 вам необходимо подключить плагин к дизайнеру отчетов. Этот

    Подробнее
  • Как подключиться к Firebird из FastReport .NET

    15 ноября 2019 г.

    Для подключения к базе данных Firebird в дизайнере FastReport .NET предусмотрен плагин-коннектор. Его необходимо предварительно собрать

    Подробнее

Как создать подключение к базе данных JSON для отчета из кода приложения

15 декабря 2019 г.

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

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

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

Для этого, приложении вам потребуется добавить ссылки на библиотеки: FastReport.dll и FastReport.JsonDataConnection.dll. В каталоге установки FastReport.net есть папка Extras\Connections\FastReport.Json. нужно собрать этот проект. В итоге вы и получите нужные библиотеки. Добавляем их в ссылки проекта. А далее код подмены коннекшена:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using FastReport;
using FastReport.Utils;
using FastReport.Data;
 private void Button1_Click(object sender, EventArgs e)
 {
 RegisteredObjects.AddConnection(typeof(JsonDataConnection));
 Report report = new Report(); 
 
 JsonDataConnection connection = new JsonDataConnection();
 connection.ConnectionString = "Json=../../App_Data/nwind.json";
 connection.CreateAllTables();
 report.Dictionary.Connections.Add(connection);
 report.RegisterData(connection.DataSet);
 report.Load("../../App_Data/json.frx");
 report.Prepare();
 report.Show();
 }

 В начале мы регистрируем объект подключения к базе данных Json. Затем создаем экземпляр объекта отчета. Создаем экземпляр объекта json коннекшена. Задаем его свойство ConnectionString – по сути просто ссылка на файл. В нашем случаем файл расположен в папке App_Data в проекте. Функция CreateAllTables подгружает все таблицы из источника.

Далее нам нужно добавить созданное подключение в коллекцию подключений отчета и зарегистрировать источник данных в отчете.

Важно, именно сейчас загрузить шаблон отчета. Если сделать перед добавлением подключения в коллекцию подключений отчета, то трюк с подменой не получится. После загрузки шаблона подготавливаем отчет к показу и показываем.

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

О продукте Скачать Купить
avatar
Dmitriy Fedyashov
Технический писатель
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport JSON

Добавить комментарий
logo
  • +7(800)551-75-80
  • info@fastreport.ru
  • Ростов-на-Дону, Россия, 344082, ул.Обороны 24, офис 311
  • Купить
  • Загрузить
  • Документация
  • Отзывы
  • Как деинсталировать
  • Онлайн поддержка
  • FAQ
  • Видео уроки
  • Форум
  • Статьи
  • Наши Новости
  • Пресса о нас
  • Реселлеры
  • Нестандартное лицензирование
  • ВУЗам
  • Карьера
  • Контакты

© 1998-2022 ООО «Фаст Репортс»

  • Согласие с обработкой персональных данных
  • Не является публичной офертой