Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вычисляемые поля




ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Домашнее задание и методические указания по его выполнению

Используемое оборудование

Содержание работы

Общее описание работы

Программирование работы с базами данных

Лабораторная работа № 2

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

УКАЗАНИЯ ПО ОФОРМЛЕНИЮ ОТЧЕТА

Лабораторное задание

Лабораторное задание и методические указания по его выполнению

 

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

 

Вариант База данных Поля
  БД сотрудников Отдел, фамилия, имя, отчество, год рождения, пол
  БД деталей Название, цвет, длина, ширина, высота, форма сечения
  БД анкетных данных Фамилия, имя, отчество, год рождения, место жительства, номер телефона
  БД компьютерной техники Процессор, монитор, видеокарта, память, материнская плата, цена

 

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

5.1. Отчет по лабораторной работе должен содержать:

1. Наименование.

2. Цель работы.

3. Используемое оборудование.

4. Теоретическая часть.

5. Распечатка программного кода вашей программы.

6. Выводы по проделанной работе.

1. Какова иерархия компонента TDataSet?

2. Какими способами можно открыть и закрыть таблицу?

3. Назовите функции перемещения по базе данных.

4. Какие свойства и методы имеются в Delphi 6 для доступа к полям данным?

5. Назовите методы работы с данными.

 


 

 

 

1.1. Цель работы: состоит в изучении принципов программирования баз данных.

 

Лабораторная работа состоит из домашнего и лабораторного заданий. Домашнее задание заключается в изучении принципов программирования баз данных. Лабораторное задание включает написание программы на языке Delphi с выполнением всех изученных в домашнем задании данных.

 

 

Для выполнения лабораторной работы используются программно-аппаратные средства: ПЭВМ класса Pentium стандартной конфигурации, цветной монитор с графическим адаптером VGA и выше, объем оперативной памяти не ниже 64 Мб, ОС Windows 98 и выше, не менее 40 Mb свободного объема на жестком диске.

 

По методическому руководству ознакомиться с принципами программирования баз данных с помощью языка программирования Delphi 6.

 

 

 

 

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

Если в свойстве Active Table1 - выставитеfalse. Щёлкните дважды по компоненту Table1 и в появившемся окне в сплывающем меню выберите пункт New Field. В окне свойств нового поля заполни следующие поля:

Name (имя нового поля) – назовём поле Sum.

Type (тип поля) – у нас будет числовая сумма, поэтому выбираем тип Integer.

Field Type (тип поля) – выбираем Calculated, чтобы создать вычисляемое поле.

На рис. 2.1 можно увидеть заполненное окно свойств созданного нового поля. Как только поле создано, таблицу снова можно делать активной.

Теперь выделяем компонент Table1 и создаем обработчик события OnCalcFields. Это событие вызывается каждый раз, когда надо пересчитать вычисляемые поля. Оно будет вызываться для всех видимых пользователю записей. В этом обработчике напиши следующее:

 

procedure TDataModule1.Table1CalcFields(DataSet: TDataSet);

begin

Table1Itog.Value:=Table1Kolvo.AsInteger*Table1Price.AsInteger;

end;

 

Прежде чем разбираться с этим кодом, откройте окно редактора свойств полей таблицы Table1 и посмотри имена (свойство Name) полей Кол-во, Цена и Итого. Это Table1kolvo, Table1price и Table1Itog соответственно. С помощью этих имён можно обращаться к значениям, находящимся в полях. Надо только написать имя поля и вызвать один из его методов для преобразования значения в нужный формат, доступны следующие методы полей:

Рис. 2.1. Ввод информации о вычисляемом поле

 

AsInteger – получить значение, хранящееся в данном поле в виде числа.

AsDateTime – в виде объекта TDateTime.

AsBoolean – в виде булева значения.

AsCurrency – в виде цены.

AsFloat – в виде вещественного значения.

AsString – в виде строки.

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

Теперь посмотрим на код, и сразу же встанет всё понятно. Здесь мы записываем в свойство Value поля Table1Itog результат перемножения значений полей цены и количества. Значения полей получаются как целые числа – AsInetger.

Всё!!! Программа готова. Запускаем и попробуем ввести в базу несколько полей. На рис. 2.2 можно увидеть окно результата работы примера.

Кстати, поле итога не должно изменяться пользователем вручную, потому что оно вычисляемое. Именно поэтому ты даже не сможешь туда ввести никакого значения. Delphi просто блокирует любые такие попытки, хотя поле и не имеет признака «Только для чтения» (ReadOnly).

 

Рис. 2.2. Результат работы программы




Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.