- •Архитектура приложений баз данных
- •Использование ado средствами Delphi
- •Набор данных в Delphi для работы с бд
- •Проектирование базы данных и редактирование данных
- •1) Наименования полей:
- •2) Типы данных:
- •3) Модификация структуры таблицы:
- •4) Определение характеристик таблицы:
- •Validity Checks (Проверка ввода значений)
- •1. Определение общего типа формы бд и источника данных
- •2. Выбор таблицы с данными
- •3. Выбор полей таблицы
- •4. Выбор способа размещения полей
- •5. Определение расположения названий полей
- •6. Размещение связанных полей
- •7. Характеристики окна формы бд
- •1.Запрос на выборку.
- •2.Запрос на добавление.
- •4.Запрос на удаление.
- •Проектирование отчетов
- •Использование запросов при проектировании приложений
- •1.Запрос на выборку.
- •2.Запрос на добавление.
- •4.Запрос на удаление.
- •Создание связей в Delphi
- •Поиск данных
4.Запрос на удаление.
Этот запрос позволяет удалить из таблицы записи, удовлетворяющие заданным условиям. Конструкция запроса следующая:
DELETE FROM «<файл с таблицей>» [WHERE <условие отбора>].
Запрос к БД (Query)
Использование одной компоненты Table позволяет работать только с одной таблицей. Поэтому, когда необходимо работать с несколькими связанными таблицами, нужно создавать соответствующее число компонент Table. В этом случае целесообразно взять компоненту Query класса TQuery, являющегося потомком класса TDBDataSet. Эта компонента позволяет определить набор данных на основе нескольких таблиц с помощью SQL-запроса. Ее также удобно применять, когда таблица БД чрезмерно велика; в этом случае с помощью запроса можно ограничить набор рассматриваемых данных. Использование этой компоненты связано со знанием языка SQL.
Отметим сразу, что можно создать оператор Delphi SQL при помощи компоненты Query следующим образом:
поместить на форму объекты Query, DataSource и связать их вместе;
присвоить псевдоним объекта TQuery свойству DataBaseName;
с помощью свойства SQL ввести указание SQL; 3) установить свойство Active в значение True.
Если каждый шаг был завершен правильно и если BDE установлено корректно, сетка должна будет содержать записи из указанной таблицы.
Delphi позволяет создавать SQL-запросы к БД как статические, в которых текст запроса остается неизменным, так и динамические (или запросы с параметрами). Динамические SQL-запросы содержат параметры, определенные в условиях отбора записей, которые в процессе выполнения программы могут изменяться. Таким образом, с помощью одного динамического запроса можно получать различные результаты при выполнении приложения. Синтаксическая конструкция динамических запросов аналогична статическим, за исключением того, что у них в секции, определяющей условия отбора записи, вместо значения записывается <параметр>, где параметр – имя параметра, вместо которого при выполнении приложения будет подставляться значение.
У класса TQuery отметим следующие наиболее важные свойства, которые он добавляет к наследуемым от классов TDataSet, TBDEDataSet и TDBDataSet:
Local – определяет расположение таблиц (True – локальные таблицы, False – таблицы на SQL-сервере); свойство только для чтения.
RequestLive – свойство логического типа (по умолчанию имеет значение False), определяет возможность изменять набор данных, полученный в результате выполнения запроса. Эта возможность имеется, если свойство имеет значение True, и у запросов, которые основаны на одной таблице и не используют сортировку и агрегатные функции. У остальных запросов результат доступен только для чтения независимо от значения данного свойства. В этих случаях можно посмотреть свойство CanModify для того чтобы увидеть, успешен ли запрос, если же нужно откорректировать таблицу с помощью запроса SQL, то следует использовать команду SQL Update.
SQL – свойство типа TStrings, определяет текст SQL-запроса, который используется при выполнении методов Open или ExecSQL.
UniDirectional – определяет направление перемещения курсора по набору данных, полученному в результате выполнения запроса.
UpdateMode – свойство типа TUpdateMode, определяет способ обновления записей из промежуточного буфера.
Следующие свойства компоненты TQuery используются в динамических SQL-запросах. Приведем некоторые из них:
DataSource – свойство типа TDataSource, определяет источник данных, значения полей которого используются как параметры для динамического запроса.
Params[Index] – свойство типа TParams, задает список элементов типа TParams, которые определяют параметры в динамическом запросе. С помощью этого свойства в редакторе значений параметров задаются начальные величины параметров. Чтобы перейти к редактору значений параметров запроса, нужно активизировать мышью значение этого свойства.
Класс TQuery добавляет к наследуемым от классов TDataSet, TBDEDataSet и TDBDataSet следующие методы (некоторые из них):
ExecSQL – процедура выполняет SQL-запрос.
Prepare – процедура посылает запрос в BDE для проверки синтаксиса и оптимизации. Рекомендуется выполнять для динамических запросов.
События, которые обрабатываются компонентой TQuery, полностью наследуются от класса TDataSet.
При подстановке переменных связи в динамический запрос программным методом с помощью свойства Params выполняются обычно следующие шаги:
необходимо убедиться в том, что таблица закрыта;
подготавливается объект TQuery с помощью выдачи команды Prepare;
Свойству Params присваиваются конкректные значения;
4) Открывается запрос.