Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КлсервБД_лаб.doc
Скачиваний:
4
Добавлен:
15.11.2019
Размер:
2 Мб
Скачать
☆

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

Тема: Записи. Создание и использование генераторов. Элементы технологии INTERBASE EXPRESS.

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

Материалы и оборудование: IBConsole, Delphi6/7

Методические рекомендации.

Операторы ввода, редактирования, удаления записей в таблицах

Оператор INSERT используется для ввода данных.

INSERT INTO <таблица>[<1 поле> . . . ]) Values (<1 значение...>)

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

Оператор UPDATE используется для редактирования одной или более записей.

UPDATE <таблица> Set поле1 =значение1 Where <условие отбора>

Если в операторе отсутствует условие отбора, то считается, что редактированию подлежат все записи таблицы.

Оператор DELETE используется для удаления записи.

Delete from <таблица> Where <условие отбора>

Для таблиц InterBase отсутствует автоинкрементный тип, обеспечивающий автоматическую установку уникальных значений. Для обеспечения уникальности ключевых столбцов используют генераторы. Генератор возвращает уникальное целочисленное значение.

Генератор создается командой

CREATE GENERATOR имя генератора

Начальное значение генератора задается командой

SET_GENERATOR имя генератора TO начальное значение

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

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

GEN_ID (имя генератора, шаг);

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

После определения начального значения генератора изменять его не нельзя. Также нельзя изменять шаг. Невыполнение этого правила привет к тому, что генератор может повторно возвратить уже имеющиеся значения.

Например: CREATE GENERATOR GEN_TABNOM;

SET GENERATOR GEN_TABNOM TO 1;

Связь генератора с оператором INSERT

INSERT INTO SOTR VALUES (GEN_ID(GEN_TABNOM,1), ‘Аскаров’, ‘Хамит’, ’30.06.1987’, ’Гришина,25’, ’m’;

Компоненты вкладки Interbase ИСР Delphi, предназначенные для соединения с базой данных

Компонент

Сипаттамасы

IBTable

Представляет данные из одной таблицы или вида Interbase

IBQuery

Использует SQL-оператор для извлечения данных из одной или нескольких таблиц Interbase

IBDatabase

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

IBTransaction

Предоставляет возможность контроля транзакций для одного или нескольких соединений базы данных. Используется компонентом IBDataBase.

Задание:

Для соединения с базой данных в Delphi создайте приложение. Разместите на нем компоненты

Двойной щелчок по компоненту IBDatabase1 приведет к активизации диалогового окна:

Заполните окно соответствующим образом и свойству Connected компонента IBDatabase1 присвойте значение true. Появится следующее окно, в котором необходимо ввести пароль password=masterkey.

Установите свойства компонента IBTransaction1:

DefaultDatabase=IBDatabase1

Active=true

В свойстве SQL компонента IBQuery1 введите select * from grup

Установите следующие свойства этого компонента:

Database=IBDatabase1

Active=true

Как и при работе с локальными базами данных, необходимо установить свойства компонентам DBGrid1, DataSource1:

Свойству DataSet компонента DataSource1 установите значение IBQuery1, а свойству DataSource компонента DBGrid1 значение DataSource1.

Задание для самостоятельного выполнения:

Создайте обработчики событий для кнопок Ввод, Редактирование, Удаление, соответственно выполняющие ввод статических данных, редактирование данных, удаление данных по определенному условию.

Измените приложение таким образом, чтобы оно позволяло вводить динамические данные.

В окне Interactive SQL создайте генератор. Свяжите генератор с процедурой ввода данных.