Использование ADO компонентов / Доступ к данным
Александр, добрый день!
Использую FR 3.03, Delphi 7, Windows 2003.
Хочется: Строить отчеты, используя один ADOConnection, используемый
приложением, а TfrxADOQuery размещать в отчетах (т.е. НЕ использовать в
отчете TfrxADODatabase или в форме TADOQuery + TfrxDBDataset), т.е. хранить
все в одном месте - отчет с датасетом, а не отдельно отчет, отдельно в форме
датасеты и чтобы отчет мог работать через Connection приложения где он
используется.
1.Создаю форму, кладу на нее ADOConnection, frxADOComponents (со ссылкой на
ADOConnection)
Были всякие непонятки, поэтому положил еще fsADORTTI, fsDBCtrlsRTTI,
frxDBDataset.
2. Создаю отчет, создаю в нем DialogPage, кладу на него TADOQuery, пишу
запрос.
(В этом месте тоже были большие непонятки - не показывал список полей, хотя
вроде в TMemo можно было вписать имя поля и в превью отображалось)
3. При этом в Database появляется ADOConnection из формы.
4. Запускаю приложение, коннекчусь к базе.
Вызываю frxReport1.ShowReport
И получаю "Missing Connection or ConnectionString". Тут же повторно вызываю
ShowReport и все ОК.
Т.е. всегда при первой порытке построить любой отчет выскакивает эта ошибка.
Та же петрушка получается когда для отчета вызывается превью в делфи при
первом построении.
Что здесь не так или что неправильно делаю?
Уже несколько лет использую FR 2.XX и там все это работало ОК.
И еще большое нарекание на TfrxADODatabase
Зачаем в 3 версии TfrxADODatabase свойство DatabaseName ссылается на
*.udl-файл? Крайне неудобно, ведь коннект может выбираться в run-time. Так
что, при этом менять UDL? Да и тащить UDL вместе с приложением к заказчику
или создавать его там - глупость.
Влад Иванов.
Использую FR 3.03, Delphi 7, Windows 2003.
Хочется: Строить отчеты, используя один ADOConnection, используемый
приложением, а TfrxADOQuery размещать в отчетах (т.е. НЕ использовать в
отчете TfrxADODatabase или в форме TADOQuery + TfrxDBDataset), т.е. хранить
все в одном месте - отчет с датасетом, а не отдельно отчет, отдельно в форме
датасеты и чтобы отчет мог работать через Connection приложения где он
используется.
1.Создаю форму, кладу на нее ADOConnection, frxADOComponents (со ссылкой на
ADOConnection)
Были всякие непонятки, поэтому положил еще fsADORTTI, fsDBCtrlsRTTI,
frxDBDataset.
2. Создаю отчет, создаю в нем DialogPage, кладу на него TADOQuery, пишу
запрос.
(В этом месте тоже были большие непонятки - не показывал список полей, хотя
вроде в TMemo можно было вписать имя поля и в превью отображалось)
3. При этом в Database появляется ADOConnection из формы.
4. Запускаю приложение, коннекчусь к базе.
Вызываю frxReport1.ShowReport
И получаю "Missing Connection or ConnectionString". Тут же повторно вызываю
ShowReport и все ОК.
Т.е. всегда при первой порытке построить любой отчет выскакивает эта ошибка.
Та же петрушка получается когда для отчета вызывается превью в делфи при
первом построении.
Что здесь не так или что неправильно делаю?
Уже несколько лет использую FR 2.XX и там все это работало ОК.
И еще большое нарекание на TfrxADODatabase
Зачаем в 3 версии TfrxADODatabase свойство DatabaseName ссылается на
*.udl-файл? Крайне неудобно, ведь коннект может выбираться в run-time. Так
что, при этом менять UDL? Да и тащить UDL вместе с приложением к заказчику
или создавать его там - глупость.
Влад Иванов.
Комментарии