Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования


Скачать 1.91 Mb.
Название Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования
страница 4/18
Тип Лабораторная работа
rykovodstvo.ru > Руководство эксплуатация > Лабораторная работа
1   2   3   4   5   6   7   8   9   ...   18

2. Преобразование значений полей


Для доступа к значениям поля используется свойство Values, которое может принимать различные типы.
Свойство Values удобно использовать для преобразования типа значения. В Delphi предусмотрены следующие свойства приведения типов значений:
- propertyAsBoolean : Boolean; 
- property AsCurrency: Currency; 
- property AsDateTime: DateTime; 
- property AsFloat: Double; 
- property Aslnteger: Integer; 
- property AsString: String;
- propertyAsVariant: Variant;

3. Создание виртуальных полей

Как было показано выше, для каждого физического поля можно создать компонент TField. С помощью редактора полей Field Editor к уже существующим компонентам TField и принадлежащим физическим полям можно добавить виртуальные поля, создав для них спои компоненты TField. Разрешено создание трёх видов виртуальных полей— вычисляемые поля (Calculated), поля подстановки (Lookup) и пустые поля (Data).

3.1. Создание вычисляемых полей

Вычисляемые поля могут быть двух типов — строковые и числовые. Значения вычисляемых полей вычисляются по формуле. При работе с символьными полями под формулой будем иметь в виду процедуру конкатенации (сцепления строк).
Создание вычисляемого поля выполняется в два этапа — описание поля и создание формулы для вычисления значения поля.


Рис.4. Создание вычисляемого поля


  1. Создание полей подстановки
    Виртуальное поле подстановки создается в компоненте Table, который содержит набор данных дочерней таблицы. Виртуальное поле подстановки также создается с помощью редактора полей Field Editor и целиком описывается в диалоговой панели «NewTable. В радиогруппе «Field type» выбирается кнопка lokup» и аналогично заполняются поля ввода «Name», «Туре» и Далее надо заполнить четыре поля ввода, которые расположены в нижней части диалоговой панели.


Пример 1. Создать вычисляемое поле подстановки.
В данном примере для дочерней таблицы «Author» в соответствующем компоненте Table был вызван редактор полей Field Editor и выбрана команда «New Field». Имя дочерней таблицы «Author» и диалоговой панели «New Field» не указывается. В верхней части диалоговой панели «New Field» описано создаваемое виртуальное поле подстановки «Fam» строкового типа размером 25.




В нижней части диалоговой панели «New Field»  по первичному ключу «Key Jam» (поле ввода «Key Fields») дочерней таблицы «Author» установлена связь с родительской таблицей «Fam» (поле ввода «Dataset») по первичному ключу «KeyJam» (поле ввода «Lookup Keys»). По установленной связи между таблицами в дочернюю таблицу «Author» в поле подстановки «Fam» (поле ввода «Name») из родительской таблицы «Fam» передается значение поля «Fam» (поле ввода «Result Fields»).
Компонент Table может иметь любое количество виртуальных полей подстановки, которые получают значения из физических или виртуальных полей родительской таблицы (или таблиц).

Рис. 5. Создание поля подстановки

3.3 Создание пустых полей
Если в диалоговой панели «New Field» установить переключатель «Field type» в положение «Data», то будет создано пустое поле. При создании пустого поля определяется его тип и размер. Впоследствии в созданное пустое поле можно будет заносить любую информацию (в соответствии с определенным типом). То есть с помощью этой процедуры создается пустой столбец в компоненте Table, который может отображаться в компоненте DBGrid. Для заполнения созданного пустого поля типа Data используют обработчик события OnGetText компонента TField или обработчик события OnDrawColumnCell сетки. На практике процедура создания пустых полей используется редко. Пустые столбцы можно создавать непосредственно в компоненте DBGrid и потом заполнять их по своему усмотрению.
Контольное задание.

Создать числовое вычисляемое поле для таблицы  Студенты 
Контрольные вопросы.

  1. Назовите назначение компонента TField.

  2. Укажите способы доступа к значению поля.

  3. Перечислите виды виртуальных полей.


Лабораторная работа 8
Манипулирование данными

(хранение, добавление, редактирование, удаление данных)
Цель работы: научиться модифицировать пользовательский интерфейс приложения

базы данных.
Образовательные результаты, заявленные во ФГОС третьего поколения:

Студент должен

уметь:

- создавать объекты баз данных в современных системах управления базами данных и управлять доступом к этим объектам;

знать:

- основы разработки приложений баз данных.
Краткие теоретические и учебно-методические материалы по теме лабораторной

работы
Добавление данных:

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

Основные методы для организации доступа компоненты Table :

  • Append – добавить новую запись в конец таблицы.

  • Delete – удалить текущую строку.

  • Edit – перейти в режим редактирования. После этого можно изменять значения полей.

  • Insert – вставить новую строку в таблицу.

  • Post – принять все изменения.

  • Refresh – обновить информацию о данных.

  • UpdateRecord – обновить текущую запись.

Редактирование данных:

Компоненты, отражающие информацию, делятся на две категории – те, которые не связаны с таблицами БД, и компоненты, связанные с таблицами и обменивающиеся с ними информацией. В первую категорию входят обычные компоненты Delphi. Компоненты второй категории расположены на странице Data Controls . Почти каждая из них имеет аналог среди обычных компонент; основные отличия заключаются в том, что они могут работать с данными, хранящимися в БД. К этой группе относится компонента DBEdit , которая используется для ввода текстовой однострочной информации.

Чтобы компонент DBEdit видел данные из поля таблицы, следует указать в свойствах:

  • DataSource – источник данных;

  • DataField – поле для редактирования.

Этот компонент с заданными уже свойствами может появиться автоматически при перетаскивании имени поля из окна редактора полей .
Задание 1.

Модифицируйте пользовательский интерфейс приложения

1. Откройте созданное приложение.

2. Разместите на форме три компоненты SpeedButton из палитры Additional . Одна из кнопок будет добавлять запись, другая – изменять данные в записи, третья – удалять. Назовите их соответственно.


Задание 2.

Организуйте добавление данных

  1. Создать новую форму, которая будет вызываться нажатием кнопки «Добавить» .

На форме расположены 4 компоненты Edit , компонент DateTimePicker с закладки Win 32 , компонент CheckBox и компонент RadioGroup.


2) Текст процедуры для события OnClick кнопки «Добавить» на форме Студенты :

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

Form 2. ShowModal ; //открывает форму «Добавление записи»

end;

3) Текст процедуры для события OnClick кнопки «ОК» на форме Добавление записи :

procedure TForm2.Button1Click(Sender: TObject);

begin

Form1.Table1.Insert;

Form1.Table1.FieldByName('SFio').Text:=Edit1.Text;

Form1.Table1.FieldByName('SOsn').Text:=Edit2.Text;

Form1.Table1.FieldByName('SNom').Text:=Edit3.Text;

Form1.Table1.FieldByName('SKurs').Text:=Edit4.Text;

Form1.Table1.FieldByName('SData').AsDateTime:=DateTimePicker1.Date;

if CheckBox1.Checked then

Form1.Table1.FieldByName('SStip').Text:='да'

else

Form1.Table1.FieldByName('SStip').Text:='нет';

//при нажатии на флажок полю SStip (Стипендия) передается

//значение True , в противном случае вводится передается

// значение False

case RadioGroup1.ItemIndex of

0: Form1.Table1.FieldByName('SSpec').Text:='Математика';

1: Form1.Table1.FieldByName('SSpec').Text:='Физика';

end;

if form1.Table1.Modified

then form1.Table1.Post;

close ;

Комметарий: в строке Form 1. Table 1. Insert вызывается метод, который допускает вставку новой строки в таблицу, которая находится на форме «Студенты ». Без вызова этого метода дальнейшая работа по вставке записи в таблицу невозможна. Запись Form 1. Table 1. FieldByName (' SFio '). Text :=Edit 1. Text означает, что текст, который находится в Edit 1 по нажатии кнопки будет перенесен в таблицу на форме «Студенты » в новую запись в текстовое поле ФИО . Остальные записи в процедуре работают аналогичным образом. Запись if form 1. Table 1. Modified then form 1. Table 1. Post сохраняет изменения в таблице. Close – закрывает форму «Добавление записи ».

4) По нажатии кнопки Cancel осуществляется выход. То же и на форме «Редактирование записи».

Задание 3.

Организуйте редактирование данных.

  1. Создать новую форму: Редактирование записи .



2) В случае перетаскивания поля логического типа, на форме автоматически устанавливается компонента DBCheckBox , что не всегда удобно.

  • Установите на форму компоненту DBRadioGroup с закладки Data Control .

  • В свойстве DataSource укажите DataSource1 .

  • В свойстве DataField укажите  SSpec .

3) Текст процедуры для события OnClick при нажатии клавиши «Изменить» на форму Студенты :

begin

Form3.ShowModal // вызов Form3

end;

4) Текст процедуры для события OnClick при нажатии клавиши «Сохранить» на формуРедактирование :

begin

if form1.Table1.Modified

then form1.Table1.Post; // все изменения в таблице сохраняются

close ;

end;

5) Пользователь имеет возможность редактировать записи в таблице напрямую. Чтобы это предотвратить используется свойство компоненты DBGrid dgEditing . Нужно выделить  DBGrid 1 и в свойстве Options ► dgEditing инспектора объектов поставить false .
Задание 4.

Организуйте удаление данных

Текст процедуры для события OnClick при нажатии клавиши «Удалить» на форме Студенты :

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin

Table1.Delete //удаляет текущую запись в таблице

end;
Контрольные вопросы.

  1. Какая запись называется текущей?

  2. Какими методами для организации доступа обладает компонент Table ?

  3. Объясните назначение компоненты  DBEdit .

  4. Какая команда позволяет сохранить изменения в таблице?

  5. Что означает запись Form1.Table1.FieldByName('SNom').Text:=Edit3.Text; ?

  6. Как избежать редактирования записи в таблице напрямую?


Лабораторная работа 9
Создание, перестройка и удаление индекса
Цель работы: научиться создавать индексы.
Образовательные результаты, заявленные во ФГОС третьего поколения:

Студент должен

уметь:

  • создавать объекты баз данных в современных системах управления базами данных и управлять доступом к этим объектам;

знать:

  • структуры данных систем управления базами данных (СУБД), общий подход к организации представлений, таблиц, индексов и кластеров.


Краткие теоретические и учебно-методические материалы по теме лабораторной работы
Индекс (или указатель) — это порядковый номер записи. При вводе исходных данных записям присваиваются порядковые номера по мере их ввода.

Индексы можно строить как по значениям одного поля – простой индекс, так и по значениям нескольких полей сложный индекс.

Первичный индекс – это индекс, соответствующий ключевому полю. Первичный индекс всегда один. В то же время допускается неограниченное число индексов для других полей.

Вторичный индекс – это индекс, созданный для неключевого поля.

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

В Delphi предусмотрено два способа построения индексов:

1) с помощью утилиты Database Desktop. В этом случае индексы строятся один раз во время проектирования приложения базы данных и при эксплуатации базы данных нельзя добавлять новые индексы;

2) с помощью команд. В этом случае программист предоставляет пользователю возможность в любой момент времени создавать и удалять индекс.

Каждый индекс принадлежит конкретной таблице. Таблица может иметь любое количество индексов. Имена индексов уникальные, т. е. у одной таблицы не может быть двух индексов с одинаковыми именами. В разных таблицах имена индексов могут повторяться.
Задания для лабораторной работы:
Задание 1.
Определите вторичные индексы для созданной таблицы Student.db
1) Открыть таблицу Student.db (File  Open  Table )

2) Из меню Table выбрать пункт Restructure . Откроется окно редактирования полей таблицы.

3) В выпадающем списке Table properties выбрать Secondary Indexes и нажать кнопку Define В окне Define Secondary Index определяются вторичные индексы:



С помощью флажков группы Index options можно определить следующие особенности индекса:

· Unique – индекс будет содержать уникальные значения;

· Maintained – индексные поля сортируются по возрастанию значений;

· Case sensitive – индекс чувствителен к регистру букв в текстовых полях;

· Descending – индексные поля сортируются по убыванию значения.

4) Выбрать « SFio » из списка Fields и нажать кнопку с изображенной стрелкой вправо. В спискеIndexed fields (индексированные поля) появится « SFio ». То же самое проделать с полями « SSpec » и« SKurs ».

5) Закрыть окно“Define Secondary Index”

6) В появившемся окне ввести имя индекса IDFio и нажать "OK" .


1   2   3   4   5   6   7   8   9   ...   18

Похожие:

Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики башкортостан
Государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики башкортостан
Государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Мордовия Государственное бюджетное образовательное учреждение...
Федерации от 22 июня 2010 года №678. Организация – разработчик Государственное бюджетное образовательное учреждение Республики Мордовия...
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Татарстан Государственное бюджетное образовательное учреждение...
Государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Областное государственное бюджетное образовательное учреждение среднего...
Областное государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Отчет о результатах самообследования государственное бюджетное образовательное...
Полное наименование образовательного учреждения в соответствии с Уставом Государственное бюджетное образовательное учреждение среднего...
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Отчет о результатах самообследования государственное бюджетное образовательное...
Полное наименование образовательного учреждения в соответствии с Уставом Государственное бюджетное образовательное учреждение среднего...
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Образовательное государственное бюджетное учреждение среднего профессионального...
Министерство здравоохранения иркутской области образовательное государственное бюджетное учреждение
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Татарстан Государственное автономное образовательное учреждение...
Государственное автономное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Татарстан Государственное автономное образовательное учреждение...
Государственное автономное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Башкортостан Государственное автономное образовательное...
Городская студенческая научно-практическая конференция «Наука. Фантазия. Реальность», посвященная Году экологии
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Республики Мордовия Государственное бюджетное образовательное учреждение...
Разработка проекта основной профессиональной образовательной программы в соответствии с фгос-3: опыт, проблемы, перспективы
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Данные учреждения среднего профессионального образования
Государственное бюджетное образовательное учреждение среднего профессионального образования Колледж декоративно-прикладного искусства...
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Среднего профессионального образования «государственный медицинский...
Областное государственное образовательное бюджетное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Программам Государственное бюджетное образовательное учреждение среднего...
Государственное бюджетное образовательное учреждение среднего профессионального образования
Республики Башкортостан Государственное бюджетное образовательное учреждение среднего профессионального образования icon Отчет о результатах самообследования (по состоянию на 01 апреля 2014г.)
Полное наименование образовательного учреждения в соответствии с Уставом: государственное бюджетное образовательное учреждение начального...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск