Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика, программирование
5.1.1.Общий алгоритм Условия задания требуют выровнять все строки до размера самой длинной строки во всем файле. Следовательно, для решения задачи при...полностью>>
Информатика, программирование
Шаблони. Шаблон (template) — це механізм параметризації визначення класу чи функції довільним типом. Шаблони дозволяють застосовувати простий спосіб в...полностью>>
Информатика, программирование
Оформление кабинета: учащиеся класса делятся на 3 команды: название команды, девиз, эмблема, представление команды. В кабинете Информатики установлены...полностью>>
Информатика, программирование
Зовнішні порти ПК призначені для певного пристрою (мишка, принтер, ..), що створює певні проблеми (багато конекторів залишаються порожніми, для яких р...полностью>>

Главная
Сохрани ссылку в одной из сетей:


КОМПОНЕНТЫ ДОСТУПА К ДАННЫМ

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

В Delphi для работы с наборами данных служат компоненты DBTable и ADOTable, ADOQuery, DataAccess, DataControl.

Базовые возможности доступа к БД обеспечивает класс DataSet, представляющий наборы данных в виде совокупности строк и столбцов (записей и полей). Этот класс предоставляет основные средства навигации и редактирования наборов данных.

Компонент Table -представляет собой набор данных, который в некоторый момент времени может быть связан только с одной таблицей БД. Этот набор данных формируется на базе навигационного способа доступа к данным, поэтому компонент Table рекомендуется использовать для локальных БД. При работе с удаленными БД следует использовать компонент Query. Связь между таблицей и компонентом Table устанавливается через его свойства TableName, которое задает имя таблицы.

Рис.3

Компоненты для работы с данными расположенные на странице DataControls (Рис.3) палитры компонентов и предназначены для построения интерфейсной части приложения.

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

Другие компоненты служат для отображения и редактирования сразу нескольких записей. Примерами таких компонентов являются сетки DBGrid и DBCtrlGrid, выводящие записи набора данных в табличном виде. Визуальные компоненты для работы с данными похожи на соответствующие компоненты страниц Standard и Additional и отличаются, в основном, тем, что ориентированны на работу с БД и имеют дополнительные свойства DataSource и Datafield. Первое из них указывает на источник данных, а второе - на поле набора данных, с которым связан визуальный компонент. Например, Edit отображает строковое значение, позволяя пользователю изменять его.

При программном изменении содержимого эти визуальных компонентов набор данных автоматически в режим редактирования не переводится. Для этой цели в коде должен предварительно вызываться метод Edit набора. Чтобы сохранить изменения в поле (полях) текущей записи, мы должны также предусмотреть соответствующие действия, например, вызов метода Post или переход к другой записи набора данных. В библиотеке визуальных компонентов для всех компонентов, в том числе и предназначенных для работы с данными, базовым является классу Control. Он обеспечивает основные функциональные атрибуты такие, как положение и размеры элемента, его заголовок, цвет и другие параметры. Класс Control включает в себя общие для визуальных компонентов свойства, события и методы.

Оконный элемент управления представляет собой специализированное окно, предназначенное для решения конкретной задачи. К таким элементам относятся, например, поля редактирования, командные кнопки, полосы прокрутки.

Такие компоненты, как Edit, DBEdit, Memo или DBMemo при получении фокуса ввода отображают в своей области курсор редактирования. Компоненты, не связанные с редактированием информации, получение фокуса ввода обычно отображают с помощью с помощью пунктирного черного прямоугольника.

Свойство Name указывает на имя компонента, которое используется для управления компонентов во время выполнения приложения.

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

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

- Выбор управляющего элемента;

- Перемещение указателя мыши;

- Нажатие клавиш клавиатуры;

- Получение и потеря управляющим элементом фокуса ввода;

- Перемещение объектов методом drag-and-drop.

ДОСТУП К ДАННЫМ

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

Навигационный способ доступа даёт возможность осуществлять следующие операции:

- сортировка записей;

- навигация по набору данных;

- редактирование записей;

- вставка и удаление записей;

- фильтрация записей;

- поиск записей.

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

- перевести набор данных в редактирование;

- изменить значение полей записи;

- подтвердить изменения или отказаться от них.

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

Для добавления записи нужно:

- перевести набор данных в режим записи;

- задать значение полей новой записи;

- подтвердить изменения или отказаться от них.

Удаление текущей записи выполняет метод Delete, который работает только с модифицируемым набором данных. В случае успешного удаления записи текущей становится следующая запись, если же удалялась последняя запись, то курсор перемещается на предыдущую запись, которая после удаления становится последней. В отличие от некоторых СУБД, в Delphi удаляемая запись действительно удаляется из набора данных.

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

При сортировки по двум полям записи сначала упорядочиваются по значениям первого поля, а затем группы записей с одинаковым значением первого поля сортируются по второму полю. Сортировка наборов данных Table и Query выполняется различными способами. Сортировка наборов данных Table выполняется автоматически по текущему индексу. При смене индекса происходит автоматическое переупорядочивание записей. Таким образом, сортировка возможна по полям, для которых создан индекс.

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

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

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

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

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

Система Delphi дает возможность осуществлять фильтрацию записей:

- по выражению;

- по диапазону.

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

Достоинством фильтрации по выражению является то, что она применима к любым полям, в том числе и неиндексированным. В связи с тем, что в процессе отбора просматриваются все записи таблицы, фильтрация по выражению эффективна при небольшом количестве записей.

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

- имена полей таблицы;

- литералы;

- операции сравнения;

- арифметические операции;

- логические операции;

- круглые и квадратные скобки.

Если имя поля содержит пробелы, то его заключают в квадратные скобки. Имена переменных в выражении фильтра использовать нельзя. Если в выражении фильтра требуется включить значение переменной или свойства какого-либо компонента, то это значение должно быть преобразовано в строковый тип. Операции сравнения представляют собой обычные отношения <,>,=,<=,>=,<>. Арифметическими являются операции +, -,* и /. В качестве логических операций можно использовать AND, OR и NOT. Круглые скобки применяются для изменения порядка выполнения арифметических и логических операций.

Набор данных Table допускается два способа задания условии фильтрации: су помощью выражения фильтра Filter и в обработчике события OnFilterRecord.

При фильтрации по диапазону в набор данных включаются записи, значения полей которых попадают в заданный диапазон, т.е. условием фильтрации является выражение вида «значение>нижняя граница AND значение < верхней границы». Такая фильтрация применяется к наборам данных Table.

Для включения и выключения фильтрации по диапазону применяются методы ApplyRange и CancelRange. Первый из них активизирует фильтрацию, а другой - деактивизирует. Предварительно для индексного поля или полей, по которому выполняется фильтрация, следует задать диапазон допустимых значений. Когда одна из границ диапазона не задана, то диапазон открыт, то есть нижняя граница становится равной минимально возможному, а верхняя граница – максимально возможному значению этого поля.

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

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

Для поиска записей по полям служат методы Locate и Lookup, причем поля могут быть не индексированными. Функция Locate ищет запись с заданными значениями полей. Если удовлетворяющие условиям поиска записи существует, то указатель текущей записи устанавливается на первую из них. Если запись найдена, функция возвращает значение True, в противном случае значение False. Обычно при разработки приложения пользователю предоставляется возможность влиять на процесс поиска су помощью управляющих элементов, расположенных на форме. При этом действия пользователя по управлению поиском в наборе данных мало, чем отличаются от аналогичных действий при выполнении фильтрации. Функция Lookup так же осуществляет поиску записи, удовлетворяющей определённым условиям, но, в отличие от метода Locate, не перемещает указатель текущей записи, а считывает информацию из полей записи. Еще одно отличие между двумя методами заключается в том, что метод Lookup осуществляет поиск на точное соответствие значений для поиска и значений в полях записей с учетом регистра букв.

Заключение

При выполнении данной курсовой работы был получен исходный программный продукт, называемый Базы данных «Автомобильная стоянка». При создании данного проекта использовались компоненты программной среды BorlandDelphi.

В результате исследования были выявлены следующие достоинства:

• Простой и понятный интерфейс;

• Совместимость практически с любой версией Windows;

• Крайне минимальные системные и аппаратные требования;

• Широкая область применения.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1) Дарахвелидзе П. Г., Марков Е. П. Delphi 2005 для Win32. - СПб.: БХВ-Петербург, 2005. - 1136 с.

2) Боровский А. Н. Программирование в Delphi 2005. — СПб.: БХВ-Петербург, 2005. - 448 с.

3) Гофман В. Э., Хомоненко А. Д. Работа с базами данных в Delphi. — СПб.: БХВ-Петербург, 2001. — 656 с.

4) Романчик В.С., А. Е. Люлькин, «Программирование в Delphi 7: пособие для студентов». Минск: БГУ, 2007. – 128 с.;

5) Гофман В. Э., Хомоненко А. Д. Delphi. Быстрый старт. — СПб.: БХВ-Петербург, 2003. — 288 с.

ПРИЛОЖЕНИЕ А

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBTables, DB, StdCtrls, DBCtrls, Grids, DBGrids, jpeg;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DataSource1: TDataSource;

Table1: TTable;

Image3: TImage;

Image4: TImage;

Image5: TImage;

Image1: TImage;

Image2: TImage;

Image6: TImage;

Image7: TImage;

procedure Image5Click(Sender: TObject);

procedure Image4Click(Sender: TObject);

procedure Image3Click(Sender: TObject);

procedure Image2Click(Sender: TObject);

procedure Image7Click(Sender: TObject);

procedure Image6Click(Sender: TObject);

procedure Image1Click(Sender: TObject);

procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Image5Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Image4Click(Sender: TObject);

begin

Application.Title:='Об авторах';

ShowMessage('Курсовой работа, учащейся группы П-21, павлюченко влад ');

end;

procedure TForm1.Image3Click(Sender: TObject);

begin

Application.Title:='Справка';

ShowMessage('Курсовой проект на тему: "База данных "Домашняя библиотека""');

end;

procedure TForm1.Image2Click(Sender: TObject);

begin

Application.Title:='Справка';

Showmessage('Курсовой проект на тему:"База данных "Автомобильная стоянка""');

end;

procedure TForm1.Image7Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Image6Click(Sender: TObject);

begin

Showmessage('Подготовил Павлюченко Влад, группа П-21');

end;

procedure TForm1.Image1Click(Sender: TObject);

begin

end;

procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

begin

end;

end.

ПРИЛОЖЕНИЕ Б

Рис. 1 Программа в разработке

Рис. 2 Окно программы



Похожие страницы:

  1. Проектирование автоматизированной информационной системы автомобильной стоянки на Delphi

    Курсовая работа >> Информатика, программирование
    ... сразу в единой базе данных – филиальная структура Рис 1.3 Глава 2: Проект создания АИС Автомобильной стоянки 2.1 Постановка ...
  2. Автомобильный транспорт (4)

    Реферат >> Транспорт
    ... автомобиль поступает на стоянку готовых автомобилей или ... М 1.02» Мотортестер компьютерный с базой данных мод. АМ1 Сканер Carmanskan II ... специальности «Автомобили и автомобильное хозяйство» Акимов С.В. «Автомобильные генераторные установки» М.: Транспорт ...
  3. Управление сбытом на базе данных предприятия ООО АвтоТехЦентр

    Контрольная работа >> Менеджмент
    ... тему: «Управление сбытом» на базе данных предприятия ООО «АвтоТехЦентр» Выполнил: ... Компания «АвтоТехЦентр» предлагает стекла автомобильные собственного изготовления для различных ... цехами, находящимися в отдельно стоящем одноэтажном здании общей площадью 200 ...
  4. Базы данных (6)

    Реферат >> Информатика
    ... «глобальные проблемы» - проблемы, стоящие перед всем обществом и касающиеся ... транспорт; железнодорожный транспорт; автомобиль­ный транспорт; воздушный транспорт; ... прироста на автомобильном транспорте. Наиболее резко дан­ная тенденция проявляется ...
  5. Организация коммерческой деятельности в сфере автомобильных грузоперевозок

    Дипломная работа >> Транспорт
    ... между участниками рынка автомобильных грузоперевозок: перевозчиками, экспедиторами, грузоотправителями. В базе данных АвтоТрансИнфо можно совершенно ... поэтажных проездов (для закрытых многоэтажных стоянок). В состав вспомогательных площадей предприятия ...

Хочу больше похожих работ...