Сохранение компонента полностью со всеми свойствами в БДDelphi , Базы данных , Компоненты и Базы данныхСохранение компонента полностью со всеми свойствами в БД
Автор: Z-man { **** UBPFD *********** by delphibase.endimus.com **** >> Сохранение компонента полностью, со всеми свойствами в БД. Данная функция использовалась и используется для сохранения отчетов, формируемые пользователем, в базу данных. БД используется: Informix и Oracle, под другие БД не пробовал. Отчеты строились в ReportBuilder5.5. Для других компонентов не пробывал использовать Зависимости: стандартные Автор: Z-man, nik7777@land.ru, ICQ:160236098, Astana Copyright: Z-man ® Дата: 28 мая 2002 г. ***************************************************** } function ComponentToString(Component: TComponent): string; var BinStream: TMemoryStream; StrStream: TStringStream; s: string; begin BinStream := TMemoryStream.Create; try StrStream := TStringStream.Create(s); try BinStream.WriteComponent(Component); BinStream.Seek(0, soFromBeginning); ObjectBinaryToText(BinStream, StrStream); StrStream.Seek(0, soFromBeginning); Result := StrStream.DataString; finally StrStream.Free; end; finally BinStream.Free end; end; Пример использования: OraTReport.FieldByName('report').AsString := ComponentToString(rbReport); //* где: *// //* rbReport - ReportBuilder5 (желтый отчет)*// //* OraTReport - TOraTable из пакета компонентов ODAC (визуальные *// //* компоненты для прямого доступа к Oracle)*// Функция Цель функции seems to be saving a component (in this case, a ReportBuilder report) to a database. Пример использования показывает, как использовать ее для сохранения отчета в таблице Oracle базы данных с помощью компонентов ODAC. Разбивка кода:
Функция возвращает строковое представление компонента. Альтернативные решения:
Однако без знания о конкретных требованиях и ограничениях вашего проекта трудно предложить лучший альтернативный способ. В статье описана функция ComponentToString, которая сохраняет компонент в виде строки, включая все его свойства, в базе данных. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Компоненты и Базы данных ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |