Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МВ ПР СПЗ БКС 2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
266.24 Кб
Скачать

Ход работы

Упражнение 1

  1. Из главного меню Delphi выберите команду DatabaseExplore, чтобы запустить Database Explorer. Появится окно средства Database Explorer, которое по каким-то причинам разработчики решили на­звать SQL Explorer, хотя, если обратиться к документации и справочной системе, то в ней утверждает­ся, что это окно называется именно Database Explorer. Чтобы не вносить путаницу, будем в дальней­шем называть окно SQL Explorer так, как его называют разработчики в документации, т. е. Database Ex­plorer.

  2. Щёлкните на вкладке Databases, если она не открыта, а затем щёлкните на пункте Databases.

  3. В раскрывшемся списке щёлкните правой кнопкой мыши на элементе Database и из появившегося меню выберите пункт New. Появится окно New Database Alias, в котором вам будет предложено выбрать драйвер базы данных для нового псевдонима BDE.

  4. Так как создаваемый в нашем примере псевдоним будет использовать базу данных Paradox, выберите значение Standard и щёлкните на кнопке ОК. Теперь нужно указать имя нового псевдонима базы данных.

  5. Введите PDOXDEMO и нажмите <Enter>.

  6. Щёлкните на элементе Path, находящемся на правой панели, и введите полный путь к демонстрационной базе данных Delphi (по умолчанию, C:\Program Files\Common Files\Borland Shared\Data), а затем нажмите <Enter>.

  7. Теперь щёлкните на кнопке Apply, расположенной на панели инструментов Database Explorer. На пик­тограмме этой кнопки изображена синяя стрелка, изогнутая по часовой стрелке. С этого момента но­вый псевдоним вступил в силу.

- 7 -

Начните пустой проект и выполните следующие действия.

Упражнение 2

  1. Выполните команду DatabaseForm Wizard

  2. Установите переключатель Form Options (Параметры формы) в поло­жение Create a simple form (Создать простую форму), а переключатель DataSet Options в положение Create a form using Ttable objects (Создать форму, использующую объект TTable) и перейдите к следующей странице, щёлкнув на кнопке Next (Далее).

  3. Раскройте комбинированный список Drive or Alias name (Диск или псевдоним) и выберите псевдоним dbdemos. Можно также выбрать другой псевдоним (например, PDOXDEMO) или "пройтись" по ката­логу своего диска, который содержит файлы базы данных.

  4. Отметьте таблицу BIOLIFE.DB (или, например, EMPLOYEE.DB) в выбранной базе данных и щёлкните на кнопке Next (Далее). Следующая страница позволяет выбирать и упорядочивать поля ба­зы данных.

  5. Можно выбирать их по одному в любом порядке с помощью двойного щелчка или щелчка на кнопке со стрелкой >, когда маркер стоит на нужном поле. Кроме того, можно переместить их все (с помощью кнопки >>) в правое окно списка, а затем расположить в нужном порядке, используя кнопки со стрелками  и .

  6. На следующей странице выберите тип формы Horizontally (Горизонталь­но) и щёлкните на кнопке Next.

  7. Если вы щёлкнете на последней странице на кнопке Finish (Готово), то Delphi создаст форму для просмотра и редактирования выбранной базы данных.

  8. Запустите эту программу.

- 8 -

На экране отобразится текущая форма для выбранного примера базы данных BIOLIFE, которая поставляется вместе с Delphi. Компонент навигации по базе данных, ко­торый напоминает клавиши кассетного плейера, позволяет перемещаться по записям вперёд и назад или перескакивать на первую или на последнюю запись.

КОНТРОЛЬНЫЕ ВОПРОСЫ:

  1. Как создать новую форму?

  2. Что такое псевдоним?

  3. Для чего используется псевдоним?

  4. Как запустить Мастер форм баз данных?

  5. Что помогает отыскать записи, имеющие заданное значение поля?

  6. Какой индекс должен быть уникальным?

  7. Для чего нужен Database Explorer и как он работает?

CОДЕРЖАНИЕ ОТЧЕТА

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

- 9 -

ПРАКТИЧЕСКАЯ РАБОТА №2

ТЕМА: Дополнительные параметры мастера форм баз данных. Основные компоненты баз данных в системе программирования Delphi.

ЦЕЛЬ: Изучить основные компоненты баз данных Delphi и методы программирования с их использованием.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

D

- 10 -

atabase Form Wizard создаёт модуль данных для проекта. Пер­вое, на что нужно обратить внимание, — все невидимые компоненты баз данных будут не в главной форме, находящейся в окне Form Designer (Конструктор форм), а в специальном модуле данных. Назначение модуля данных состоит в том, чтобы повысить гибкость при программировании баз данных. Если несколько форм программы используют одни и те же таблицы, то удоб­нее, чтобы все они обращались к компонентам баз данных, хранящимся в модуле данных. Чтобы новая форма могла получить доступ к имеющимся компонентам модуля данных, нужно просто выполнить команду File  Use Unit (Файл  Использовать модуль), а затем выбрать модуль данных. Ещё одним достоинством данной технологии является то, что при совместном использовании данных двумя разны­ми табличными компонентами модуль данных решает все конфликты, связанные с синхронизацией операций доступа к данным. Практически на любой стадии разработки проекта базы данных имеет смысл обращаться к средству Database Form Wizard. Ведь использование генерируемой им формы служит отправной точкой для дальнейшей работы. Кроме того, Database Form Wizard автоматически снабжает разрабатываемую програм­му таким удобным средством, как модуль данных.

Для создания полнофункционального приложения баз данных достаточно таких четырёх компонентов как таблица (Table; страница Data Access), ис­точник данных (DataSource; страница Data Access), сетка данных (DBGrid; страница Data Controls) и навигатор (DBNavigator; страница Data Controls).

Различные программы ведения баз данных хранят информацию по-разному, но, в конце концов, всё сводится к строкам и столбцам. Каждый столбец представляет ка­кое-нибудь поле — информацию, содержащую, например, имя, дату рождения, зара­ботную плату. А каждая строка представляет одну запись данных. Набор строк и столбцов называется таблицей, а компонент Table является связующим звеном между программой и определённой таблицей данных.

Свойство DatebaseName компонента Table определяет базу данных, содержащую эту таблицу (имеется в виду либо псевдоним, либо имя каталога, в котором находятся фай­лы таблицы). Свойство TableName представляет собой имя таблицы. Установка свойства Active равным True открывает таблицу даже во время разработки. Если таблица имеет первичный ключ (другое на­звание индекса), то её записи будут отображаться в порядке, отсортированном по этому ключу. Если вместо него вы захотите использовать вторичный ключ, то его можно за­дать в свойстве IndexName. В Delphi 5 компонент Table усовершенствован, — самыми важными доработками являются отслеживание изменений и фильтры.

- 11 -

Отслеживание изменений — это режим работы, при котором программа освобождается от постоянной пересылки по сети больших объемов данных при небольших коррективах, вносимых в базу данных. Все изменения при включенном режиме отслеживания изменений хранятся на локальном диске, а по сети пересылаются сразу одной "порцией". Однако за все надо платить — программам придется учитывать вероятность того, что другие приложения также могут обращаться к этим же записям. Если выражения вроде "управление транзакциями" ничего вам не говорят, оставьте свойст­во CachedUpdates равным False.

Фильтры используются для того, чтобы некоторое время компоненты Table или Query видели толь­ко определённые подмножества подчинённых им данных. Убрав эти фильтры, вы снова позволите компонентам работать со всеми данны­ми. Если свойство Filtered установлено в True, то при переборе записи каждый раз вызывается обработчик события OnFilterRecord. В исход­ном тексте этого обработчика вы должны поместить операторы, с по­мощью которых приложение смогло бы установить, подходят ему или нет данные из этой записи. Такой подход в некоторых случаях может оказаться более быстрым и удобным, чем создание нового запроса.

Некоторые свойства компонента Table существуют исключительно ради уста­новки между двумя таблицами взаимосвязи вида "главная-подчиненная". Как вы успели заметить при выполнении упражнения 3, Database Form Wizard заносит в соответствующие поля значения, после чего соответствующая форма готова. В подчиненной таблице свойство MasterSource является именем источника данных для главной таблицы, а свойство MasterFields содержит имя поля или полей, по которым устанавливается связь между двумя таблицами. Связующее поле не обязано быть первичным ключом для таблицы, поэтому поле IndexName содержит имя используемого индекса.

- 12 -

Если ваша таблица зависает на каком-нибудь сервере, то это значит, что кто-то еще хочет получить к ней доступ одновременно с вами. Для Delphi это не проблема — она поделится своими ресурсами. Но если ус­тановить свойство Exclusive равным True, то ваша программа сможет единолично "захватить" эту таблицу. Никому другому не удастся получить доступ к её данным, пока вы пользуетесь ею, и в этом случае ваша программа заработает намного бы­стрее. Однако если вы выбрали исключительный способ доступа, а кто-то другой уже использует данные из таблицы, вы совсем не сможете открыть таблицу. А если вы хотите ограничиться всего лишь чтением табличных данных, не делая при этом никаких изменений, то установите свойство ReadOnly равным True.

Источник данных (компонент DataSource) действует в качестве посредника при обмене данными между таблицей и компонентом дан­ных. Его свойство DataSet указывает на таблицу, из которой поступают данные. Если свойство AutoEdit установлено в True, то данные могут поступать в двух направ­лениях. Это означает, что изменение данных в компоненте, связанном с этим ис­точником данных, будет автоматически изменять данные в таблице. Когда данные в таблице или компоненте изменяются и когда изменяется собственное состояние источника данных, генерируются предупреждающие события.