LimeReport Forum

General Category | Основное => Discussion | Обсуждение => Topic started by: Stanislav on September 10, 2020, 12:24:25 PM

Title: программно задать команду SQL для datasourcе
Post by: Stanislav on September 10, 2020, 12:24:25 PM
Можно ли программно задавать текст команды SQL для datasourcе?
То есть, хотелось бы в runtime, имея загруженный файл отчета в ReportEngine, отключить определенную connection, изменить текст SQL для требуемого datasource, активировать connection и отобразить отчет.

Нашел на форуме пример, как это делать:

LimeReport::DataSourceManager *dm = (LimeReport::DataSourceManager*)(fReport->dataManager());
LimeReport::QueryDesc *query = dm->queryByName("tosQuery");
if (!query)
   dm->addQuery("tosQuery", sql, "mainDB");
else
   query->setQueryText(sql);

Но при попытке использовать такой вариант Qt Creator выдает сообщение:
error: no type named 'QueryDesc' in namespace 'LimeReport'
Title: Re: программно задать команду SQL для datasourcе
Post by: Arin Alex on September 13, 2020, 07:30:45 PM
Приветствую!
Можно вместо текста запроса положить переменную например $V{CustomersSQLText, nobind}
А, вообще то, можно из приложения передать результат выполнения запроса :)