Для подключения к базе данных Firebird в дизайнере FastReport .NET предусмотрен плагин-коннектор.
Его необходимо предварительно собрать в проекте:
С:\Program Files (x86)\FastReports\FastReport.Net\Extras\Connections\FastReport.Firebird
После этого вы должны подключить плагин в дизайнере отчета в меню File->Options:
После этого, нужно перезапустить дизайнер отчетов.
Прежде чем создавать источник данных в отчете убедитесь, что ваш сервер FireBird настроен правильно. Дело в том, что в Firebird 3 при подключении к базе с помощью библиотеки FireBirdSql.Data.FirebirdClient, которая используется в плагине, вы скорее всего увидите ошибку "connection rejected by remote interface". Вам нужно включить проводное шифрование и тип аутентификации Legacy.
Чтобы это сделать, откройте конфигурационный файл firebird.conf. Раскоментируйте и измените строки:
AuthServer = Srp, Legacy_Auth
UserManager = Srp, Legacy_Auth
WireCrypt = Enabled
Теперь можно приступить к созданию источника данных. Выбираем тип подключения “Firebird connection”:
В итоге строка подключения будет выглядеть так:
initial catalog="J:\Program Files\Firebird\Firebird_3_0\examples\empbuild\EMPLOYEE.FDB";user id=sysdba;password=masterkey
Далее мы можем выбрать нужные для отчета таблицы:
Но также, у нас есть возможность написать свой SQL запрос. Давайте рассмотрим эту возможность. Нажимаем кнопку “Add SQL query…”. Задаем имя таблицы, которая получится в результате выполнения запроса:
Далее пишем сам SQL запрос:
Этот запрос имеет параметр в условии. С помощью двойной вертикальной черты мы выполняем конкатинацию. В итоге этот запрос должен выбрать нам сотрудников, чье имя начинается на определенную букву или выражение. На следующем шаге мы создаем параметр с таким же именем, какое мы определили в SQL запросе:
В качестве значения параметра мы можем использовать любое выражение: параметр отчета, функцию, переменную. Давайте воспользуемся параметром отчета. К этому моменту он уже должен быть создан:
Выбираем его в редакторе выражения, который откроется, когда вы нажмете на Expession окне создания параметра запроса:
В итоге мы получим выборку всех сотрудников, чье имя начинается на “K”: