Основы проектирования приложений баз данных

       

Публикация данных с использованием классов TQUERYTABLEPRODUCER и TDATASETTABLEPRODUCER


Для публикации данных из базы данных на HTML-страницы можно использовать следующие классы:

  • TQueryTableProducer - для создания HTML-страницы, содержащей таблицу с данными, являющимися результатом выполнения SQL-запроса. Параметры выполняемого SQL-запроса передаются в HTTP-запросе.
  • TDataSetTableProducer - для создания HTML-страницы, содержащей таблицу с данными из сформированного набора данных.

Компонент типа TDataSetTableProducer при формировании HTML-страницы, как правило, обрабатывает следующие события:

  • OnCreateContent - при создании содержимого HTML-страницы;
  • OnFormatCell - при формировании содержимого отдельной ячейки таблицы;
  • OnGetTableCaption - при получении заголовка создаваемой таблицы.

Для того чтобы создать серверное приложение, отображающее на HTML-странице поля таблицы базы данных, следует:

  1. Создать новое приложение, запускаемое на web-сервере (команда меню File|New|Other, пиктограмма Web Server Application), и выбрать тип создаваемого приложения.
  2. Для реализации доступа к источнику данных расположить в web-модуле компонент набора данных Table (или компонент Query) со страницы BDE палитры компонентов. Установить значение свойств компонента Table1 (DatabaseName и TableName).
  3. Двойным щелчком мыши в web-модуле на компоненте Table1 вызвать редактор полей и определить поля, которые будут включены в результирующий набор (для компонента Query - сформировать значение свойства SQL).
  4. Разместить в web-модуле компонент DataSetTableProducer со страницы Internet палитры компонентов.
  5. Для определения связи с источником данных установить значение свойства DataSet компонента DataSetTableProducer1 равным Table1, выбрав значение из предлагаемого списка.
  6. Свойство Caption компонента DataSetTableProducer1 можно использовать для определения заголовка, отображаемого перед таблицей. Для формирования начальных и завершающих тегов HTML-страницы используются значения свойств Header и Footer. Содержание самой таблицы определяется свойством Columns.
  7. Следует определить начальные теги формируемой HTML-страницы, введя в свойство Header следующие строки: <HTML> <HEAD> <TITLE> Запрос данных из таблицы </TITLE> </HEAD> <BODY>


    Тег BODY открывает область, в которой размещается отображаемое содержимое HTML-страницы.
  8. Следует определить завершающие теги формируемой HTML-страницы, введя в свойство Footer следующие строки: </BODY> </HTML>


  9. Далее можно вызывать редактор свойства Column. Для этого или в инспекторе объектов выполните двойной щелчок мышью на значении свойства Column компонента DataSetTableProducer1, или в web-модуле выполните двойной щелчок мышью на компоненте DataSetTableProducer1.

    Для добавления всех столбцов в диалоге Editing.DataSetTableProducer1.Columns выполните команду контекстного меню Add All Fields. Каждый добавленный столбец может быть доступен как DataSetTableProducer1.Columns[номер_столбца_начиная_с_0].

  10. Для определения элемента действия для web-модуля выполните двойной щелчок мышью на компоненте WebModule1 и в диалоге Editing WebModule1.Actions добавьте новый элемент действия (кнопка Add New).
  11. Для добавленного объекта действия WebActionItem1 следует создать обработчик события OnAction и ввести в него код, определяющий значение свойства Content объекта ответа. Например: Response.Content:= DataSetTableProducer1.Content; Свойство Content объекта DataSetTableProducer1 содержит текст сформированной таблицы с соответствующими HTML-тегами.


Сформированная HTML-страница будет отображать таблицу с набором данных, который определен компонентами Table и DataSetTableProducer.



Тег BODY открывает область, в которой размещается отображаемое содержимое HTML-страницы.
  • Следует определить завершающие теги формируемой HTML-страницы, введя в свойство Footer следующие строки: </BODY> </HTML>


  • Далее можно вызывать редактор свойства Column. Для этого или в инспекторе объектов выполните двойной щелчок мышью на значении свойства Column компонента DataSetTableProducer1, или в web-модуле выполните двойной щелчок мышью на компоненте DataSetTableProducer1.

    Для добавления всех столбцов в диалоге Editing.DataSetTableProducer1.Columns выполните команду контекстного меню Add All Fields. Каждый добавленный столбец может быть доступен как DataSetTableProducer1.Columns[номер_столбца_начиная_с_0].

  • Для определения элемента действия для web-модуля выполните двойной щелчок мышью на компоненте WebModule1 и в диалоге Editing WebModule1.Actions добавьте новый элемент действия (кнопка Add New).
  • Для добавленного объекта действия WebActionItem1 следует создать обработчик события OnAction и ввести в него код, определяющий значение свойства Content объекта ответа. Например: Response.Content:= DataSetTableProducer1.Content; Свойство Content объекта DataSetTableProducer1 содержит текст сформированной таблицы с соответствующими HTML-тегами.


  • Сформированная HTML-страница будет отображать таблицу с набором данных, который определен компонентами Table и DataSetTableProducer.


    Содержание раздела