КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Источники данныхЭкранные элементы для работы с СУБД во многом напоминают обычные элементы управления Windows. Они отличаются тем, что предназначены для редактирования полей таблиц, а не переменных программы. В принципе, их можно напрямую подключать к компонентам ТТаblе, однако в системе Delphi 7реализован более гибкий подход — создан компонент промежуточного уровня TDataSource (Источник данных) с панели Data Access (Доступ к данным). Этот компонент служит посредником между таблицами СУБД и экранными элементами управления. Зачем так сделано? Компонент TDataSource позволяет, во-первых, абстрагироваться от конкретной СУБД. Например, если потребуется сделать многопользовательский справочник по играм, достаточно настроить таблицы на другую, более мощную СУБД с аналогичной схемой базы данных, способную работать в сети. Элементы управления этого не заметят, потому что будут обращаться к источнику данных, а не к конкретным таблицам.
Компоненты для отображения и редактирования данных Подготовка приложения Перед тем как закладывать в базу информацию о конкретных играх, надо, очевидно, предварительно ввести названия компаний и жанры игр. Для этого создадим на форме панель инструментов (компонент TToolBar) и разместим на ней четыре кнопки. Пусть первая открывает диалоговое окно, в котором можно вводить, редактировать и удалять записи таблицы Firms. Вторая кнопка предназначена для открытия окна редактирования таблицы Genres. Третью кнопку будем использовать для добавления информации об игре. Пригодится и четвертая кнопка, которая будет закрывать таблицы базы данных. ПОДСКАЗКАПодберите картинки для кнопок самостоятельно. Создайте в рамках текущего проекта три новых формы и настройте их так, чтобы они работали в модальном режиме: свойство BorderStyle должно иметь значение bsDialog. Форма formЗ открывается по щелчку на первой кнопке ToolButtonl, форма Form4 — по щелчку на второй кнопке ToolButton2, форма Form5 — по щелчку на третьей кнопке ToolButtonB. Для вызова форм использовать Showmodal. Чтобы получить доступ к модулю данных Unit2 из новых модулей, надо указать ссылку на этот модуль в их интерфейсных разделах.
Чтобы все внесенные в таблицы изменения были сохранены в базе данных, эти таблицы по окончании работы необходимо закрыть. У каждого класса, описывающего набор данных в Delphi 7, имеется для этого метод Close. procedureTForml.ToolButtori4Click.(Sender : TObject); Begin DataModule2.Articles.Close; DataModule2.Games.Close; DaCaModule2 .Genres.Сlose; DataModule2.Firms.Close; Close; end;
Компонент Таблица данных (TDBGrid) Чтобы получить возможность редактировать, добавлять или удалять записи таблицы, писать программный код не требуется. Достаточно разместить на форме form3 компонент TDBGrid с панели Data Controls (Элементы управления данными). Он во многом напоминает ранее рассмотренный компонент TStringGrid. Аналогичные действия надо выполнить и с формой Form4, только источником данных лослужит DataModule2.SoLirceGenres. Пока что в таблицах показываются все поля, в том числе и ключевое поле ID. Так как его значение будет увеличиваться автоматически, отображать это поле и позволять его редактировать на данном этапе не следует. Столбцы таблицы описываются свойством Columns, представляющим собой коллекцию элементов типа TDBGridColumn. По умолчанию отображаются все столбцы, а с помощью редактора формируется определенный набор. В нашем случае требуется показывать единственное неключевое поле. После добавления в редакторе коллекции элемента TColumn в списке его свойств надо найти свойство FieldName (Имя поля таблицы) и выбрать в раскрывающемся списке для таблицы фирм значение FirmName, а для таблицы жанров — GenreName. Названия вводят набором с клавиатуры, установив курсор в нужном ноле, добавление записи — нажатием клавиши ВНИЗ. В последнем случае в таблице автоматически добавляется новое пустое поле. Компонент Навигатор(TDBNavigator) Для упрощения навигации по таблице (что немаловажно, если в ней очень много записей) в системе Delphi 7 имеется компонент TDBNavigator. Он обычно размещается на форме под компонентом TOBGrid и привязывается к нему через свойство DataSource. Значение этого свойства должно совпадать со значением такого же свойства связанной таблицы
Навигатор позволяет перемещаться по набору записей вперед и назад, переходить к первой и последней записи и выполнять ряд других функций. Функции Навигатора доступны как при щелчках на его кнопках во время работы приложения, так и из Программного кода. Компонент содержит десять кнопок.
|