автономные отчеты...
Здравствуйте,
Ситуация следующая:
я в рантайме создаю AdoQuery, задаю параметры которые передаються в момент вызова фаст репорта. Типичная ситуация.
для созданного AdoQuery указываю sql запрос. В версии 2.53 было свойство у запроса - Active. при изменении его рефрешился список полей в для соответсвующего кверя. Сейчас этого не происходит и не понятно почему.
Как получить поля?
Ситуация следующая:
я в рантайме создаю AdoQuery, задаю параметры которые передаються в момент вызова фаст репорта. Типичная ситуация.
для созданного AdoQuery указываю sql запрос. В версии 2.53 было свойство у запроса - Active. при изменении его рефрешился список полей в для соответсвующего кверя. Сейчас этого не происходит и не понятно почему.
Как получить поля?
Комментарии
Взял пример из Fast Report studio для с#
то, что добавил программно, видно,
то, что добавил в дизайнере - нет. Сначала подумал, что запрос с ошибками, но нет. это тривиальный запрос select 'asdasd' as message.
кстати, куда деваеться AdoDataBase которое я создаю руками. Как ассоциируеться с репортом?
Соединяюсь с MSSQL.
мне бы хотелось, что бы по умолчанию использовалась дефолтная база..
это возможно?
Memo1: Error in expression 'packet size=4096; user id=..;... ' Т.Е. моя строка соединения. далее ' ; expected'
- взял стандартный пример из Fast Report Studio.(Source который) для шарпа.
- поменял коннекшин стринг на мой (с MSSQL сервером).
(Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=*****;Data Source=*****)
- для динамическгог запроса изменил SQL. на свой
- запускаю пример
- открываю дизайн Simple Report-а.
- добавляю AdoQuery1.
- пишу заведомо корректныей запрос(проверяю в QA)/
нажимаю ок. в меню Отчет-Данные все галочки стоят по умолчанию(попробовал сбрасывать устанавливать -результата нет).
ничего не рефрешиться. списка полей для запроса как нет так и не было.
хотя для динамического запроса все нормально.
меняю строку соединения обратно и пишу запросы на customer то все работает.
PS и еще при запросе сохранить не сохранить, если выбираешь не сохранить он все равно сохраняет.
Вы избежите эту ошибку, если будете использовать дизайнер, поставляемый вместе со Студией. Если же Вы используете runtime дизайнер, то необходимо установить имя aliasa для DefaultConnection.
C#:
TfrxReportClass report;
report.ReportOptions.ConnectionName = "MyConnection";
То есть, TfrxADOQuery, созданный из программы, работает нормально?
Уточните пожалуйста, в каком месте не работает отмена сохранения.
Вот изменненый код примера:
// Create report object
frx = new TfrxReportClass();
// FastReport will check registry to find database ConnectionString based on СonnectionName
frx.ReportOptions.ConnectionName = "Unicode_private";
// this feature under development
frx.EngineOptions.SilentMode = frxSilentMode.simMessageBoxes;
frx.MainWindowHandle = (int) this.Handle;
// Create ADO database object
ado_database = new TfrxADODatabaseClass();
ado_database.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=****;Data Source=****";
ado_database.LoginPrompt = false;
ado_database.Connected = true;
// Create ADO query object
ado_query = new TfrxADOQueryClass();
ado_query.Name = "DynamicallyCreatedADOQuery";
ado_query.Query = "select top 1 * from sample_table";
ado_query.DataBase = ado_database;
---(вроде бы алиас для базы данных здесь указан)
по сохранению.
беру пример из студии добавляю туда что нибудь, закрываю дизайнер и на вопрос сохранить изменения говорю нет. открываю снова этот же репорт и вижу что изменения сохранились.
Простейшее решение проблемы - перед открытием отчёта прочитать его из файла ещё раз.