Разделы презентаций


Лекция

Содержание

Навигация по набору данных Существует два способа работы с записями в НД.

Слайды и текст этой презентации

Слайд 1Лекция

Лекция

Слайд 2Навигация по набору данных
Существует два способа работы с записями

в НД.

Навигация по набору данных Существует два способа работы с записями в НД.

Слайд 31 способ
Способ, основанный на использовании операторов SQL, предполагает оперирование группами

записей. Именно так работают SQL-операторы группового обновления НД UPDATE, INSERT,

DELETE и выборки групп записей SELECT. Записи, удовлетворяющие некоторому условию, выдаются группами; даже если условию удовлетворяет только одна запись, считается, что в данном случае группа состоит из одной записи
1 способСпособ, основанный на использовании операторов SQL, предполагает оперирование группами записей. Именно так работают SQL-операторы группового обновления

Слайд 42 способ
Состоит в оперировании единичными записями. Если необходимо изменить, добавить

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

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

Слайд 5Понятие курсора набора данных.
Под курсором набора данных понимается указатель

текущей записи в конкретном наборе данных. Текущая запись - та

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

Слайд 6Существует 5 методов для изменения курсора НД:

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

Слайд 7Определение начала и конца набора данных
Свойство property BOF: Boolean;


Возвращает True, если курсор установлен на первую запись в наборе

данных.
Определение начала и конца набора данных Свойство property BOF: Boolean; Возвращает True, если курсор установлен на первую

Слайд 8Свойство property EOF: Boolean;
извращает True, если курсор установлен на последнюю

запись в наборе данных.

Свойство property EOF: Boolean;извращает True, если курсор установлен на последнюю запись в наборе данных.

Слайд 9Порядок следования и порядок сортировки записей
Т.К. набор данных -понятие

логическое, а не физическое, то для TTable последовательность расположения записей

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

Слайд 10Начиная работать с НД, имеющим одну сортировку записей, мы можем

затем переопределить сортировку, и записи "перестроятся" в соответствии с новой

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

Слайд 11Пример
Пусть, например, имеется ТБД, состоящая из 2 полей: Name (Фамилия

сотрудника) и Oklad (Оклад). Пусть в ТБД имеется 5 записей,

которые вводились следующим образом и. следовательно, в таком порядке и хранятся:
ПримерПусть, например, имеется ТБД, состоящая из 2 полей: Name (Фамилия сотрудника) и Oklad (Оклад). Пусть в ТБД

Слайд 13Пусть данная ТБД проиндексирована по 2 индексам. Первый - по

возрастанию поля Name, второй - по возрастанию поля Oklad.

Пусть данная ТБД проиндексирована по 2 индексам. Первый - по возрастанию поля Name, второй - по возрастанию

Слайд 14Если порядок прохождения записей определяется
индексом по полю Name (Tablel.IndexfieldNames

:= 'Name'),
получим следующий НД

Если порядок прохождения записей определяется индексом по полю Name (Tablel.IndexfieldNames := 'Name'), получим следующий НД

Слайд 15Если порядок прохождения записей определяется индексом по полю Oklad. получим

следующий НД

Если порядок прохождения записей определяется индексом по полю Oklad. получим следующий НД

Слайд 16Для реализации этих действий
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.IndexFieldNames:='Name'
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.IndexFieldNames:='Oklad'
end;

Для реализации этих действийprocedure TForm1.Button1Click(Sender: TObject);beginTable1.IndexFieldNames:='Name'end;procedure TForm1.Button2Click(Sender: TObject);beginTable1.IndexFieldNames:='Oklad'end;

Слайд 17Добавление ко всем окладам 1000

Добавление ко всем окладам 1000

Слайд 18Обработчик нажатия клавиши Button3
procedure TForm1.Button3Click(Sender: TObject);
begin
Table1.First; (*Навигация по набору вниз*)
while

not Table1.Eof do begin
Table1.Edit;
Table1Oklad.Value:=Table1Oklad.Value-1000 ;
Table1.Post;
Table1.Next;
end;
end;

Обработчик нажатия клавиши Button3procedure TForm1.Button3Click(Sender: TObject);beginTable1.First; (*Навигация по набору вниз*)while not Table1.Eof do beginTable1.Edit;Table1Oklad.Value:=Table1Oklad.Value-1000 ;Table1.Post;Table1.Next;end;end;

Слайд 19procedure TForm1.Button3Click(Sender: TObject);
begin
Table1.Last; (*Навигация по набору вверх*)
while not Table1.Bof do

begin
Table1.Edit;
Table1Oklad.Value:=Table1Oklad.Value+1000 ;
Table1.Post;
Table1.Prior;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);beginTable1.Last; (*Навигация по набору вверх*)while not Table1.Bof do beginTable1.Edit;Table1Oklad.Value:=Table1Oklad.Value+1000 ;Table1.Post;Table1.Prior;end;end;

Слайд 20Метод Locate
Метод Locate ищет первую запись, удовлетворяющую критерию поиска, и

если такая запись найдена, делает ее текущей. В этом случае

в качестве результата возвращается True. Если поиск был неуспешен, возвращается False.
Метод LocateМетод Locate ищет первую запись, удовлетворяющую критерию поиска, и если такая запись найдена, делает ее текущей.

Слайд 21function Locate(const KeyFields: string; const Key Values: Variant);
Список KeyFields указывает

поле или несколько полей, по которым ведется поиск, в виде

строкового выражения. В случае нескольких поисковых полей их названия разделяются точкой с запятой.
Критерии поиска задаются в вариантном массиве Key Values так, что i-e значение в Key Values ставится в соответствие i-му полю в KeyFields. В случае поиска по одному полю в Key Values указывается одно значение.

function Locate(const KeyFields: string; const Key Values: Variant);Список KeyFields указывает поле или несколько полей, по которым ведется

Слайд 22Options позволяет указать необязательные значения режимов поиска:
loCaselnsensilive - поиск ведется

без учета высоты букв, т.е. если в Key Values указано

'принтер', а в некоторой записи в данном поле встретилось 'Принтер' или 'ПРИНТЕР', запись считается удовлетворяющей условию поиска;
loPartialKey - запись считается удовлетворяющей условию поиска, если она содержит часть поискового контекста; например, удовлетворяющими контексту 'Ма' будут признаны записи с значениями в искомом поле "Машин ', 'Макаров' и т.д.

Options позволяет указать необязательные значения режимов поиска:loCaselnsensilive - поиск ведется без учета высоты букв, т.е. если в

Слайд 24procedure TForm1.Button1Click(Sender: TObject);

begin
Table1.Locate( 'FIO','Си',[LoPartialKey]);
end;

procedure TForm1.Button1Click(Sender: TObject);beginTable1.Locate( 'FIO','Си',[LoPartialKey]);end;

Слайд 26procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.First;
WHILE Table1.Locate('Oklad', Edit1.Text,[]) do Table1.Delete;

end;
Можно упростить, используя оператор

With

procedure TForm1.Button1Click(Sender: TObject);beginTable1.First;WHILE Table1.Locate('Oklad', Edit1.Text,[]) do Table1.Delete;end;Можно упростить, используя оператор With

Слайд 27procedure TForm1.Button1Click(Sender: TObject);
begin
WITH Table1 do begin
First;
WHILE Locate('Oklad', Edit1.Text,[]) do Delete;
END;

//with
end;

procedure TForm1.Button1Click(Sender: TObject);beginWITH Table1 do beginFirst;WHILE Locate('Oklad', Edit1.Text,[]) do Delete;END; //withend;

Слайд 28TQuery
Реализует набор данных, источником данных для которого являются одна или

несколько таблиц БД. Структура записи НД, состав НД определяются SQL-запросом

(оператор SELECT). Кроме выдачи НД, используется для групповых операций обновления, добавления или удаления в ТБД, а также может выполнять любые действия.
При помощи TQuery можно реализовывать как статические, так и динамические (изменяющиеся в процессе выполнения приложения) SQL-запросы.
TQueryРеализует набор данных, источником данных для которого являются одна или несколько таблиц БД. Структура записи НД, состав

Слайд 29TIndexDefs
Позволяет получить информацию об индексах, определенных для данной ТБД, и

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

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

Слайд 30TFieldDefs
Позволяет получить информацию о полях, определенных в составе записей данной

ТБД.

TFieldDefsПозволяет получить информацию о полях, определенных в составе записей данной ТБД.

Слайд 31TField
Реализует поле НД. Помимо полей, физически определенных в ТБД и

включенных в состав конкретного НД, компонент TField создается для каждого

вычисляемого поля или поля, возвращающего значение из другого НД (lookup), а также для результатов вычисления выражений и агрегатных функций в SQL-запросах.
TFieldРеализует поле НД. Помимо полей, физически определенных в ТБД и включенных в состав конкретного НД, компонент TField

Слайд 32TBatchMove
Позволяет осуществлять копирование и перенесение записей из одних НД в

другие.

TBatchMoveПозволяет осуществлять копирование и перенесение записей из одних НД в другие.

Слайд 33Обзор визуальных компонентов для работы с базами данных
TDBText

Показывает "только для

чтения" значение поля текущей записи НД. (страница компонентов DataControls)

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

Слайд 34TDBGrid
Показывает содержимое полей НД в "табличном" виде, когда записям соответствуют

строки, полям - столбцы

TDBGridПоказывает содержимое полей НД в

Слайд 35Свойство DataSource компонента TDBGrid содержит имя компонента TDataSource, который ссылается

на соответствующий НД (компоненты TTable или TQuery). Изменяя значение свойства

DataSource во время выполнения, можно использовать один компонент TDBGrid для показа содержимого различных наборов данных. При продуманном сценарии диалога с пользователем и интерфейса приложения это может существенно минимизировать объем и конструктивную сложность создаваемых приложений
Свойство DataSource компонента TDBGrid содержит имя компонента TDataSource, который ссылается на соответствующий НД (компоненты TTable или TQuery).

Слайд 36Для определения состава столбцов в TDBGrid можно использовать редактор столбцов

(Columns Editor). В этом случае используются только те столбцы, которые

созданы редакторе столбцов компонента TDBGrid, и принимаются во внимание только их характеристики. Порядок следования столбцов в сетке TDBGrid определяется порядком следования определений столбцов редакторе столбцов.
Для определения состава столбцов в TDBGrid можно использовать редактор столбцов (Columns Editor). В этом случае используются только

Слайд 38TDBEdit (страница DataControls)
Обеспечивает просмотр и изменение значения поля текущей

записи НД. Поля - любого типа, кроме полей комментариев и

BLOB
Свойство dataSource связ. с ист данных
Свойство DataField с названием поля
TDBEdit (страница DataControls) Обеспечивает просмотр и изменение значения поля текущей записи НД. Поля - любого типа, кроме

Слайд 40TDBCheckBox (страница DataControls)
Обеспечивает просмотр и изменение значения поля типа

Boolean текущей записи НД.

TDBCheckBox (страница DataControls) 	Обеспечивает просмотр и изменение значения поля типа Boolean текущей записи НД.

Слайд 42TDBRadioGroup
Обеспечивает возможность выбора значения для поля, которое может содержать фиксированное

число вариантов значений. Значения показываются в виде радиокнопок.

TDBRadioGroup	Обеспечивает возможность выбора значения для поля, которое может содержать фиксированное число вариантов значений. Значения показываются в виде

Слайд 46TDBMemo
Позволяет просматривать и корректировать значение мемо-поля (поля комментария) в режиме

текстового редактора.

TDBMemoПозволяет просматривать и корректировать значение мемо-поля (поля комментария) в режиме текстового редактора.

Слайд 50. Как связаны друг с другом компоненты для работы с

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

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

Слайд 51Первым уровнем являются псевдонимы BDE, устанавливаемые при помощи ВDE Administrator.

На псевдоним ссылается компонент типа "набор данных" (компоненты TTable и

Tquery). Имя псевдонима БД записывается как значение свойства DataBaseName этих компонентов.

Первым уровнем являются псевдонимы BDE, устанавливаемые при помощи ВDE Administrator. На псевдоним ссылается компонент типа

Слайд 52Компонент TTable работает с записями одной физической таблицы БД. Поэтому

свойство TableName этого компонента хранит имя этой таблицы БД.

Компонент TTable работает с записями одной физической таблицы БД. Поэтому свойство TableName этого компонента хранит имя этой

Слайд 53Компонент TQuery в общем случае возвращает набор данных, записи которого

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

БД. Имена таблиц и условия выборки из них записей устанавливаются в запросе (SQL-оператор SELECT), который хранится в свойстве SQL компонента TQuery.
Компонент TQuery в общем случае возвращает набор данных, записи которого получены в результате выполнения запроса к одной

Слайд 54Имя любого компонента типа "набор данных" хранится в его свойстве

Name. Свойство Active указывает, активен ли (открыт, готов для доступа

к данным) соответствующий набор данных (значение True) или не активен (значение False). Открытие НД производится на этапе разработки приложения и во время выполнения установкой свойства Active в значение True, а также во время выполнения - при помощи метода Open этого набора данных.
Имя любого компонента типа

Слайд 55Для связи визуальных и невизуальных компонентов для работы с данными

используется компонент "промежуточного уровня", TDataSource (источник данных). Его свойство DataSet

содержит имя соответствующего компонента типа "набор данных".
Для связи визуальных и невизуальных компонентов для работы с данными используется компонент

Слайд 56Визуальные компоненты разделяются на работающие с множеством записей набора данных

(например, TDBGrid) и с отдельным полем (TDBEdit и другие). Соответственно,

компоненты, работающие с множеством записей, ссылаются в своем свойстве DataSource только на имя компонента TDataSource;
Визуальные компоненты разделяются на работающие с множеством записей набора данных (например, TDBGrid) и с отдельным полем (TDBEdit

Слайд 57компоненты, работающие с конкретным полем, кроме этого ссылаются на имя

поля НД (свойство FieldName). Список доступных полей набора данных хранится

в свойстве Fields соответствующего компонента типа "набор данных".
компоненты, работающие с конкретным полем, кроме этого ссылаются на имя поля НД (свойство FieldName). Список доступных полей

Слайд 58. Использование компонента TQuery для формирования набора данных из одной

или нескольких таблиц
Расположим в форме компонент TQuery (страница Data Access

палитра компонентов). По умолчанию его имя Query1. Установим его свойство DatabaseName в PROBA. Расположим в форме компонент TDataSource (имя DataSource1). Установим его свойство DataSet в значение Queryl. Расположим в форме компонент TDBGrid. Установим его свойство DataSource в значение DataSourcel.
. Использование компонента TQuery для формирования набора данных из одной или нескольких таблицРасположим в форме компонент TQuery

Слайд 59В инспекторе объектов для компонента Queryl найдем свойство SQL и

нажмем кнопку эллипса. Затем в появившемся окне редактора наберем текст

SQL-запроса

SELECT P.DatPrih, P.Kolvo
FROM Prihod P

В инспекторе объектов для компонента Queryl найдем свойство SQL и нажмем кнопку эллипса. Затем в появившемся окне

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика