Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Изменение структуры таблицы. Структуру созданной таблицы можно изменить




Структуру созданной таблицы можно изменить. Для этого необходимо выбрать элемент меню Tools | Utilities | Restructure, выбрать таблицу и произвести необходимые изменения в структуре таблицы. Можно добавлять, удалять поля, изменять их типы и имена. В некоторых случаях система попросит подтвердить выполнение действий.

 

Открытие и сохранение таблицы

 

Для изменения данных, хранящихся в таблице, таблицу необходимо «открыть». Открытие таблицы происходит с помощью подменю File | Open. Внесение изменений (добавление/удаление записей, изменение значений полей конкретных записей и т.д.) происходит только в режиме редактирования. Для перехода в режим редактирования необходимо нажать клавишу F9. Сохранение изменений в таблице происходит по выбору пунктов меню File | Save илиFile | SaveAs. Перед сохранением изменений необходимо выйти из режима редактирования, повторно нажав клавишу F9.

Дополнительные утилиты

 

Рассмотрим некоторые дополнительные возможности, которые среда Database Desktop предоставляет для работы с таблицами. Эти возможности доступны через пункт меню Tools | Utilities:

Add – добавить записи из одной таблицы в другую (структуры должны совпадать);

Copy – копировать одну таблицу в другую;

Delete – удалить таблицу;

Empty – опустошить таблицу (удалить все записи);

Info Structure – показать структуру таблицы;

Rename – переименовать таблицу;

Sort – отсортировать таблицу по значениям каких-либо полей;

Restructure – изменить структуру таблицы;

Subtract – удалить из таблицы записи, совпадающие с записями другой таблицы (записи должны совпадать).

 

 


Лекция 5. Основные классы, обеспечивающие доступ к таблицам БД: назначение, свойства, методы

Взаимодействие классов, обеспечивающих доступ к таблицам

Назначение любого БД-приложения – обеспечить пользователю удобный интерфейс для работы с информацией, представленной в таблицах базы данных. Рассмотрим основные классы среды Delphi, обеспечивающие программиста разнообразными возможностями для реализации такого интерфейса.

Классы объектов, обеспечивающие доступ к таблицам БД, связаны между собой следующим образом:

Набор данных БД (физическая таблица БД или результат запроса) Û Объект класса TTable или TQuery Û Объект класса TDataSource Û Объект класса TDBGrid или класса TDBЕdit

 
 

Поясним предложенную схему. Данные из таблицы БД или результат запроса по таблицам БД представляются объектами классов TTable или TQuery соответственно. Классы TTable и TQuery связываются с объектом класса TDataSource, а уже объект класса TDataSource непосредственно связывается с визуальными компонентами DBGrid или DBЕdit, обеспечивающими отображение данных и возможность внесения изменений. На рис. 5.1 представлена форма с необходимыми компонентами для представления информации из одной таблицы БД.

Рис. 5.1

 

Рассмотрим подробнее атрибуты, методы и события, связанные с данными классами.

 

1. Класс TTable обеспечивает доступ к конкретной таблице БД в целом. Это наиболее важный и сложный класс и будет далее рассмотрен подробно.

 

2. Класс TDataSourceобеспечивает связь визуальных компонентов (TDBGrid или TDBЕdit) со множеством данных БД. Связь осуществляется через класс TDataSet, поэтому основной атрибут класса - DataSet, в котором задается имя объекта, непосредственно связанного с набором данных БД. Класс TDataSet – предок класса TTable, объекты которого представляют конкретные таблицы БД. Для доступа к результатам запросов (см. лекцию 7) используются объекты другого наследника TDataSet – класса TQuery. Наиболее интересное событие класса TDataSource – OnDataChange, которое происходит при изменении связанных с объектом данных, позволяет их отслеживать, обрабатывать, сообщать о них пользователю.

 

3. Класс TDBGrid («сетка») обеспечивает возможность отображения и редактирования данных в виде таблицы, строки которой соответствуют записям таблицы БД, а столбцы – полям записи. Свойство DataSource содержитимя компонента-источника TDataSource, который ссылается на соответствующую таблицу. Изменяя значение свойства DataSource во время выполнения, можно использовать один и тот же компонент TDBGrid для показа содержимого различных наборов данных.

Для определения состава столбцов в TDBGrid используется редактор столбцов (Columns Editor). В окне редактора устанавливаются значения свойств объектов-столбцов. Текущие значения свойств определяют способ отображения столбцов в сетке. Если в процессе выполнения приложения программно изменять то или иное свойство столбца, то эти изменения немедленно отобразятся. Например, в ходе выполнения можно менять ширину столбца (свойство DisplayWidth связанного со столбцом объекта TField), его видимость (Visible), возможность редактирования значения столбца (ReadOnly), порядковый номер (Index), заголовок столбца (DisplayLabel).

К основным событиям данного класса можно отнести следующие: OnCellClick – возникает при щелчке мыши на ячейке; OnDblClick – возникает при двойном щелчке мыши; OnTitleClick - возникает при щелчке по заголовку; OnColEnter – возникает сразу после того, как ячейка становится активной («получает фокус»); OnColExit – возникает перед тем, как ячейка перестает быть активной («теряет фокус»).

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

- Пользователь может работать в каждый момент времени только с одним полем одной записи таблицы. Эта запись называется текущей и помечена в левом столбце значком ►. Ячейка таблицы, с которой работает пользователь в данный момент времени, называется активной и выделяется цветом.

- Переход вверх и вниз между записями и по текущей записи осуществляется соответствующими стрелками, клавишей Tab или с помощью курсора мыши. При переходе вниз от последней записи автоматически создается новая запись, помечаемая значком *.

- При внесении изменений в текущее поля происходит переход в режим редактирования.

- Внесение изменений в таблицу БД и выход из режима редактирования происходит после перехода к другой записи. Отказаться от изменений и выйти из режима редактирования можно по клавише Esc.

- Удалить текущую запись можно, нажав одновременно клавиши Ctrl и Del.

4. Класс TDBЕdit обеспечивает возможность отображения и редактирования одного поля текущей записи таблицы. Функции данного класса аналогичны функциям класса TEdit, но источником данных и их приемником в этом случае служит поле таблицы. Свойство DataSource содержитимя компонента-источника, который ссылается на соответствующую таблицу, а свойство DataField – имя соответствующего поля. При вводе значения в компонент автоматически отслеживается его совместимость с типом поля таблицы. Ввод неправильных значений блокируется, и выдается сообщение об ошибке. Например, произойдет ошибка, если в компонент, связанный с полем числового типа или типа дата-время, попытаться ввести произвольный текст.

Основные свойства, методы и события этого класса аналогичны свойствам, методам и событиям класса TEdit с учетом специфики класса TDBЕdit.

5. КлассTDBNavigatorпозволяет осуществлять навигацию по записям таблицы, переводить таблицу в состояние вставки, изменения, добавления записи, запоминать изменения. Свойство DataSource содержитимя компонента-источника, который ссылается на соответствующую таблицу. Свойство VisibleButtons состоит из множества свойств с логическими значениеми, каждое из которых соответствует некоторой кнопке навигатора: nbFirst – перейти к первой записи; nbPrior – перейти к предыдущей записи; nbNext – перейти к следующей и т.д. Кнопка отображается на Навигаторе, если соответствующее ей свойство имеет значение Тrue. Наиболее часто используется событие OnClick, которое возникает при щелчке мыши на кнопке Навигатора.

 

5.2. Классы TField и TTable: основное назначение и свойства

 

5.2.1. Класс TField: основное назначение и свойства

Класс TTable обеспечивает доступ к конкретной таблице БД в целом, а класс TField обеспечивает программисту разнообразные возможности для работы с составляющими таблицы - полями:

· изменение значения поля текущей записи;

· преобразование значения поля текущей записи от одного типа данных к другому;

· проверка данных, вводимых пользователем в поле таблицы (для проверки ошибок ввода);

· определение способов отображения или редактирования полей таблицы;

· определение вычисляемых (calculated) полей на основе реальных полей БД;

· определение связанных (lookup) полей (полей из другой таблицы БД).

 

Класс TFieldимеет множество свойств и методов. Рассмотрим только некоторые из них, обеспечивающие доступ к значениям полей таблицы:

AsBoolean, AsCurrency, AsDateTime, AsFloat, AsInteger, AsString, AsVariant- позволяют считывать значение из поля текущей записи или записывать в него значение с учетом указанных преобразований.

DataSet– связанная таблица или запрос.

EditMask– маска для форматирования значения поля.

FieldName– имя поля.

FieldNo – порядковый номер поля в связанной таблице или запросе.

LookupDataSet, LookupKeyFields LookupResultFields– только для связанных полей: таблица-справочник, список полей-ключей исходной таблицы, список полей-результатов таблицы-справочника (см. Лекция 6).

ReadOnly - определяет, можно ли поле редактировать (False)или нет (True).

Value – позволяет считывать значение из поля текущей записи или записывать в него значение.

Visible– определяет, можно отображать поле в визуальных компонентах (True) или нет (False).

К основным методам, знание которых необходимо при первоначальном изучении, относятся: аssign – копирует значения из поля связанного множества данных в свойство Value; сlear – очищает значение поля.

Изсобытий, связанных с классом TField, выделим событие OnChange, возникающее после изменения значения поля.

5.2.2. Класс TТable: основное назначение

Класс TTableнаследует классу TDataSet и обеспечивает связь таблиц БД через объекты класса TDataSource с визуальными компонентами.

Объект класса представляет совокупность записей (набор данных, НД) из определенной таблицы БД. Класс выполняет следующие «роли»:

· открытие и закрытие доступа к физической таблице БД;

· отбор записей по заданному критерию (установка фильтров);

· поиск записей;

· установка индексов для последовательности перехода по таблице БД и ускорения поиска;

· «навигация» по таблице БД;

· добавление, удаление записей;

· доступ к значениям полей текущей записи таблицы;

· обеспечение связи с другими таблицами БД.

 

Для обеспечения связи приложения с таблицей БД необходимо установить на форме или в модуле данных приложения компонент Table, представляющий объект класса TTable, и задать необходимые значения его свойствам.

Для обеспечения этих функций используются разнообразные свойства и методы.

В дальнейшем будем предполагать, что компонент Table1 представляет таблицу с полями БД: Name (A), Name_Subject (A) и Mark (S), представляющую таблицу оценок по различным предметам, полученных студентами во время сдачи экзаменов в сессию.


Поделиться:

Дата добавления: 2015-04-04; просмотров: 149; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты