Главная страница
Навигация по странице:

  • 1.2. Основные компоненты

  • Лабораторная работа. 1. Методика создания приложений Введение


    Скачать 62.15 Kb.
    Название1. Методика создания приложений Введение
    АнкорЛабораторная работа
    Дата18.10.2022
    Размер62.15 Kb.
    Формат файлаdocx
    Имя файлал.р. 1.docx
    ТипДокументы
    #739304

    1. Методика создания приложений
    1.1. Введение
    Средства работы с базами данных в Delphi можно разделить на две группы:

    • Универсальные утилиты с развитым пользовательским интерфейсом (database Desktop, reportsmith, database Explorer).

    • Компоненты Delphi для разработки автономных программ ведения баз данных.

    Универсальные утилиты представляют собой сильно упрощенные вариан­ты обычных СУБД с весьма ограниченными возможностями. Поэтому их целе­сообразно использовать лишь в качестве вспомогательного инструмента, на­пример, для создания или изменения структуры базы данных, отладки запросов и т.д.

    Мы будем рассматривать только новые специфичные для Delphi средства разработки на основе компонентов. В частности, рассмотрим общую методику разработки, использование компонентов доступа к базам данных и визуальных компонентов создания пользовательского интерфейса.

    Перед началом работы с БД необходимо убедиться, что на жесткий диск компьютера установлена библиотека BDE (Borland database Engine, процессор баз данных). Файлы BDE записываются программой установки Delphi. Распо­ложение BDE регистрируется в реестре Windows. BDE реализован в виде дина­мически загружаемых библиотек (DLL). В BDE входят драйверы низкоуровне­вого доступа к файлам БД разных форматов, драйверы языковой поддержки, интерпретаторы SQL и др. Интерфейс, образуемый функциями BDE, известен под названием ID API. BDE является посредником между приложением и БД, освобождающим приложение (но не разработчика!) От необходимости знания деталей доступа к файлам, местонахождения файлов и даже отчасти от архи­тектуры БД. Конечную реализацию любых действий с БД берет на себя драйвер BDE. BDE поддерживает работу с файлами персональных СУБД Paradox (*.db), dbase-совместимых СУБД (*.dbf), и с файлами удаленных баз данных, располо­женных на SQL-серверах interbase, Oracle, Informix и др. Архитектура BDE от­крыта и может быть дополнена новыми драйверами.

    К сожалению, BDE так до конца и не был отлажен разработчиками. В по­следней версии Delphi 5 технология BDE постепенно вытесняется (?). Появи­лись компоненты на основе более универсальной технологии доступа к данным ADO фирмы Microsoft; для доступа к БД interbase создана отдельная специали­зированная линейка компонентов, использующих API этой СУБД (BDE для них не требуется). Однако эти новые возможности, не меняющие сути вопросов, мы рассматривать не будем, так как на момент написания пособия (январь 2000 г.) Delphi 5 еще не получила широкого распространения (возможно, по причине традиционно завышенных системных требований, RAM не меньше 64М и т.п.).

    При работе с BDE рекомендуется создавать алиасы. Алиас (Alias, псевдо­ним) - условное обозначение спецификации каталога, где находятся файлы БД. Например, при установке Delphi автоматически создается алиас DBDEMOS для обозначения каталога \DELPHI3\DEMOS\DATA\, где хранятся файлы демонст­рационных и учебных баз данных. Рекомендуется в программах использовать именно алиасы, а не конкретные имена каталогов. В этом случае программы приобретают дополнительную гибкость: при изменении местоположения фай­лов нет необходимости переделывать программу, а достаточно переопределить псевдоним с помощью, например, утилиты DB Explorer. Все алиасы и другие параметры и настройки BDE регистрируются в конфигурационном файле idapi.cfg. Файл idapi.cfgдолжен находиться на общедоступном и открытом для записи сетевом или локальном диске. Отметим, что каждая таблица формата Paradox хранится в отдельном файле (*.db), все таблицы СУБД interbase хранят­ся в одном файле *.gdb. Дальнейшее изложение ориентировано на использова­ние таблиц Paradox и interbase.

    Создание структуры таблицы и ее заполнение информацией может вы­полняться несколькими способами: специализированными СУБД типа Paradox или foxpro, поддерживающими требуемый формат данных, утилитами Data Base Desktop (DBD) или DB Explorer, с помощью компонентов Delphi.

    Необходимо учитывать, что DBD 1) плохо работает с кириллическими шрифтами и 2) не использует всех возможностей interbase. Поэтому основное назначение DBD - создание или изменение структуры локальных таблиц, ин­дексов и других метаданных.

    Утилита DB Explorer (другое название SQL Explorer) свободна от этих не­достатков и может применяться для ввода информации и отладки SQL-запросов. Особенно удобна она при работе с interbase, т.к. Позволяет создавать и изменять метаданные interbase, в том числе структуру таблиц. (Однако и у DB Explorer приготовлены «сюрпризы» для пользователя.)

    1.2. Основные компоненты

    Любое приложение, работающее с БД, должно содержать в своем составе, как минимум, три компонента. Во-первых, компонент для связи с процессором баз данных и через него с физическими таблицами. Это может быть компонент ттаые (работа с таблицами БД), tquery(выполнение SQL-запросов к БД) или tstoredproc(выполнение хранимых на сервере БД процедур). Во-вторых, ком­понент tdatasource, соединяющий передаваемые компонентами ттаые или tqueryнаборы данных (таблицы и запросы) с визуальными компонентами поль­зовательского интерфейса. В-третьих, визуальные компоненты для создания та­кого интерфейса, отображающие наборы данных различными способами (в виде таблиц, экранных форм и др., по выбору пользователя).

    В простейшем случае используются три компонента ttable, tdatasourceи tdbgrid. Рассмотрим методику их использования.

    Компонент ttableописывает логическую виртуальную таблицу - образ физической таблицы (файла данных). Сейчас перечислим только основные, все­гда используемые, свойства ttable, доступные через инспектор объектов:

    Databasename, тип String - содержит либо алиас базы данных, либо пол­ную спецификацию каталога, где находятся файлы БД.

    Tablename: tfilename - имя таблицы. Эти два свойства предназначены для привязки ттаые к физической таблице через BDE.

    Name - имя экземпляра компонента в программе. По умолчанию имеет значение Table 1.

    Active, тип Boolean - установка Activeв Trueоткрывает таблицу и делает ее доступной для просмотра. По умолчанию - False.

    Важнейшие дополнительные_свойства:

    Indexname: String - имя активного вторичного индекса,

    Indexfieldnames: String- ключевое поле активного индекса.

    Примечания.

    1. Эти два свойства взаимоисключающи: для упорядочения таблицы сле­ дует указывать либо одно, либо другое.

    2. Если ни одно из них не указывать, то таблица будет автоматически упо­ рядочена по первичному индексу.

    3. В indexnameуказывается имя вторичного индекса, а в indexfieldnames - ключевые поля, как первичного, так и вторичного индексов.

    4. Если индекс является составным, то в свойстве indexfieldnamesпере­ числяются через точку с запятой поля, из которых он состоит.

    5. В инспекторе объектов значения свойства выбираются с помощью ком­ бинированного списка, в котором для каждой таблицы перечислены все доступные индексы.

    Mastersource: tdatasource- содержит имя компонента tdatasource, опи­сывающего главную таблицу для данной таблицы.

    Masterfields: String - имя поля, по которому устанавливается связь с глав­ной таблицей.

    Filter: String - логическое условие фильтрации записей при просмотре.

    Filtered: Boolean - установка в Trueактивизирует фильтр. Значение по умолчанию - False.

    После помещения компонентов на форме следует установить свойства объекта ттаые {databasenameи tablename), связывающих его с реальной таб­лицей.

    Следующий этап - связывание объекта tdatasourceс объектом ттаые. Для этого надо указать в его свойстве dataset: tdatasetимя (значение свойства Name) экземпляра ттаые.

    Задача компонента tdbgrid(«сетка данных») - отображение и редактиро­вание данных на экране в табличном виде. Чтобы связать dbgridс данными, надо указать в его свойстве datasourceимя компонента tdatasource, через ко­торый передаются данные.

    Благодаря использованию компонента tdatasourceкомпонент tdbgridстановится более специализированным, а следовательно, более простым и удоб­ным. Его задача - только визуальное представление данных. Tdbgridне зависит ни от формата файлов, ни от имени конкретной таблицы (его «знает» Table), ни от конкретного типа набора данных - таблицы или запроса.

    Лабораторная работа № 1. Создание простой формы БД.

    Простая форма используется для работы с одной таблицей.

    1. Откройте новый проект с пустой формой.

    2. Разместите на форме компоненты ттаые и tdatasource. Их можно найти на странице Data Access палитры компонентов. Это - невизуальные компоненты: на форме они изобразятся в виде пиктограмм, а во время выполнения видны не будут.

    3. Выберите компонент Table 1 и откройте список псевдонимов в свойстве databasename. Установите псевдоним dbdemos.

    4. Введите имя таблицы tablenameиз dbdemos. Если псевдоним был за­ дан правильно, то в списке возможных значений свойства tablenameпоявятся имена всех таблиц из данного каталога. Выберите нужную, например, country.db(статистические данные о государствах американского континента).

    5. Выберите компонент datasource 1. Свяжите его с Table1, указав имя Та- blelв свойстве dataset.



    Разместите компонент tdbgrid(страница Data Control палитры компо­ нентов). Свяжите его с datasourcel, указав имя datasourcelв свойстве Data- Source. Правильность связывания компонентов проверьте по рис.1.

    1. Установите свойство Activeобъекта Table 1 в True. Таблица откроется и ее содержимое отобразится в сетке данных (dbgrid).

    2. Откомпилируйте и выполните приложение.

    3. Установите Activeв False, а в обработчик события создания формы Оп- Createвставьте Tablel.Open. Теперь таблица откроется только во время выпол­ нения приложения. Чтобы это проверить, повторите шаг 8.

    Часто бывает удобно просматривать и редактировать таблицу в виде не­скольких строк, каждая из которых отображает одно поле текущей записи. Для этой цели предназначен компонент tdbedit(страница Data Control). На форме следует разместить столько объектов tdbedit, сколько полей Вы хотите про­сматривать. Экземпляр связывается с полем с помощью двух свойств: Data-Source(здесь указывается экземпляр объекта-источника данных) и datafield(указывается имя просматриваемого поля).

    Для отображения графических полей (типа Graphics, Blob) и текстовых полей (типа Memo) представлены визуальные компоненты tdbimageи tdbmemo, соответственно.

    Перемещение по записям таблицы удобно организовать с помощью ком­понента tdbnavigator. Внешний вид этого визуального компонента напоминает панель управления плеера. В частности, здесь присутствуют кнопки перехода на следующую и предыдущую записи, на первую и последнюю записи, вставки новой записи и др.

    Все названные компоненты связываются с набором данных через свои свойства datasourceи datafield.


    написать администратору сайта