Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


БД 1.4 №40 Навигация по набору данных.



Существует два способа работы с записями в НД:

1) Способ, основанный на использовании оператора SQL, предполагает оперирование группами записей. Записи, удовлетворяющие некоторому условию, выдаются группами.

2) Способ, основанный на оперировании единичными записями, если необходимо изменить, добавить или удалить группу записей, то необходимая операция выполняется д каждой из таких записей. Для этого такие записи в НД необходимо отыскать, для чего применяются методы навигации. Они всегда работают с единичной записью и связаны с понятием курсора НД.

Под курсором НД понимается указатель текущей записи в каждом конкретном НД. Текущая запись – это запись, над которой в данный момент можно выполнять некоторые операции (удаление, изменение и т.д.)

Существуют 5 способов для изменения курсора НД

1) First - устанавливает курсора на первую запись в НД

2) Last - на последнюю запись в НД

3) Next - на следующую запись в НД

4) Prior - на предыдущую запись в НД

Function MoveBy (Distance: integer): Integer – перемещает курсор к концу НД на число записей указанных в параметре ( Distance > 0). Если Distance < 0 то перемещение осуществляется к началу НД. Функция возвращает число записей, на которое курсор был перемещен реально.

Для определения начала и конца НД служат свойства: BOF – возвращает true, если курсор установлен на первую запись в НД. EOF возвращает true, если курсор установлен на последнюю запись в НД.

Пример

Подсчитаем общее кол-во всех проданных товаров (поле Kol из таблицы prodazha, смотри вычисляемые поля)

Kol: = 0;

With DM.Table1 do {DM имя модуля данных}

Begin

First;

While not EOF do

Begin

Kol: = Kol+FieldByName (‘Kol’).AsInteger;

Next;

End;

End;

БД 1.5 №41 Внесение изменений в НД

Начальное состояние любого НД – dsInActie, для открытия НД используется его метод Open или Active: = true. После успешного открытия НД переходит в состояние dsBrowse, а его курсор устанавливается на первую запись.

Чтобы закрыть НД вызывается метод Close или свойству Active: = false. Если НД закрывается, находясь в режимах dsInsert или dsEdit, то изменения, сделанные в текущей записи, не запоминаются.

Для просмотра вставки, редактирования и удаления записей обычно используются соответствующие визуальные компоненты (TDBGrid, TDBEdit, TDBNavigator), которые автоматически вызывают нужные методы НД. Но в определенных случаях (например? при обработке статистических данных) необходим программный доступ к информации без использования визуальных компонентов.

Добавление новых записей

Если НД не индексирован, то метод Append добавляет пустую запись в конец НД, а метод Insert помещает вставленную запись на место текущей записи, а текущая запись становится следующей за ней. Если НД индексирован, то оба метода вставляют запись в позицию, определяемую текущим индексом.

Пример (кнопка добавить )

If DBGrid1.DataSource = DM.DataSource1 then

Begin

DM.Table1.Append;

Form4.Show; // форма для ввода д-х 1-ой таблицы

End;

Кнопки вставить вместо метода Append используется Insert

После ввода соответствующие поля на Form4 нажимаем кнопку сохранить

DM.Table1.FieldByNaame (‘Nommang’).Valiue: = StrtoInt(Edit1.text);

….

DM.Table1.Post;

Метод Post записывает изменения, внесенные в текущую запись таблицы БД

Существуют методы AppendRecord и InsertRecord, позволяющие заполнять все поля таблицы БД одновременно

Zakaz.InsertRecord ([1003, 3, 15.10.2008, 10]);

Изменения текущей записи

Перед редактированием текущей записи НД необходимо перевести в состояние dsEdit методом Edit.

Пример (кнопка изменить)

If DBGrid1.DataSource = Dm.DataSourse then

Begin

Form4.Edit1.Text: = inttоstr (Dm.Table1.FieldByName (‘Nommang’).Value;

DM.Table1.Edit;

Form4.Show

End;

Удаление текущей записи из таблицы осуществляется методом Delete, перед удалением необходимо проверить, что НД находится в состоянии dsBrowse (используя MessageDlg)

 

№44

……

Function FindKey (const KeyValue: array of const): Boolean;

Параметр называемый ключом поиска, описывает список знаечний для каждого из полей указанных с свойстве IndexName, IndexFieldNames. Метода FindKey возвращает false если не удалось найти подходящую запись.

Procedure FindNearest ( const KeyValues: array of const); - этот метод пытается найти запись значение соответсвующего поля которой если и не совпадает точно с параметром KeyValues, то ближе всего к нему.

№45. Компонен1т TDBNavigator.

 

Данный компонент обычно размещается на форме под компонентом TDBGrid и привязывается к нему через свойство DataSource, значение которого должно совпадать со значением такого же свойства компонента TDBGrid. Навигатор позволяет перемещаться по набору записей вперёд и назад, переходить к первой и последней записи и т.д. Функции навигатора доступны не только при щелчках на его кнопках, но и программно.

10 кнопок компонента (слева направо):

 

Кнопка Назначения
First Перемещение к первой записи в НД
prior Перемещение к предыдущей записи в НД
Next Перемещение к следующей записи в НД
Last Перемещение к последней записи в НД
Insert Вставка новой записи перед текущей
Delete Удаление текущей записи
Edit Редактирование текущей записи
Post Сохранение изменений внесенных в таблицу БД
Cancel Отмена внесенных изменений
Refresh Обновление таблицы путём считывания данных из БД

 

Если свойство ConfirmDelete имеет значение true, то будет отображаться диалоговое окно с запросом на подтверждение удаления записи. Если значение свойства Flat имеет значения true, то кнопки у навигатора будут плоскими. В свойстве Hints указывается массив всплывающих подсказок. В свойстве VisibleButtons указывается перечень видимых кнопок.

Метод SetBounds позволяет задать нестандартные размеры панели навигатора, метод ButtonClick программно имитирует щелчок на одной из его кнопок.

Событие BeforeAction генерируется если пользователь щелкнул на кнопке, но соответствующее действие ещё не выполнено. Событие OnClick – выполнено одно из действий навигатора.

 

 

Лаба 9 №46. Компонент TDBGrid (Сетка). Создание объектов столбцов.

 

Компонент TDBGrid отображает содержимое НД в виде таблицы, в которой столбцы соответствуют полям НД, а строки – записям.

В свойстве Columns компонента TDBGrid содержится индексированный набор объектов столбцов типа TDBGRidcolumns. Объекты этого класса имеют заданное по умолчанию свойство items, открывающее индексированный доступ к объектам-столбцам объекта класса TColumn, и свойство Count, возвращающее количество элементов в свойстве Items.

Объекты-столбцы предназначены для гибкого управления визуальным представлением данных, отображаемых в столбцах сетки. С их помощью можно менять порядок следования отображаемых полей НД, заголовки столбцов, используемые в столбце шрифт и фоновый цвет. Объекты-столбцы можно создать на этапе проектирования программы с помощью редактора столбцов. Для его вызова необходимо выбрать команду Columns editor в контекстном меню компонента.

При работе с редактором сначала необходимо щелкнуть на третьей слева кнопке для добавления столбцов для всех полей НД, а затем можно удалить ненужные столбцы. Для изменения заголовка столбца необходимо раскрыть свойство title и изменить его вложенное свойство caption. С помощью трёх других вложенных свойств можно изменять выравнивание текста заголовка относительно границ столбца (Alignment), Фоновый цвет заголовка (color), шрифт и цвет шрифта (Font). Фоновый цвет столбца (кроме заголовка), цвет и шрифт отображаемых в нём данных изменяются с помощью свойств Color и Font. Защитить отображаемые в столбце данные от изменения можно с помощью свойства ReadOnly, а временно удалить его из сетки – с помощью свойства Visible.

Чтобы заголовок столбца был пустым, необходимо в свойстве caption свойства title соответствующего объекта-столбца поместить хотя бы один пробел

Можно создавать объекты-столбцы и вовремя работы программы. Это необходимо для создания программы, которая запоминает сделанные пользователем в столбцах изменения (порядок их следования, ширину) при завершении работы и восстанавливает в момент очередного запуска. Наиболее подходящим местом для запоминания параметров объектов-столбцов является реестр Windows.

 

 


Поделиться:



Последнее изменение этой страницы: 2017-04-13; Просмотров: 584; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.024 с.)
Главная | Случайная страница | Обратная связь