Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття




1. Характеристика методів компонентів Query

2. Порівняльна характеристика компонентів Query та Table

 

В качестве набора данных, который обеспечивает возможность создания и применения SQL-запросов, на данном занятии будет рассматриваться только компонент Quer.

Скорость доступа к локальным БД у компонента Query меньше, чем у компонента Table. Однако, вместе с тем компонент
Query предоставляет ряд существенных удобств при операциях с
таблицами БД, таких, как отбор данных по сложным критериям сортировка, группировка записей, одновременное отражение данных из нескольких таблиц и т.д.

В общем случае пользователь не имеет возможности вручную изменять информацию, передаваемую компонентом Query. Для осуществ­ления изменений хранящейся в БД информации формируется специальные запросы, причем произведенные изменения тут будут автоматически отображаться, а необходимо повторно осуще­ствить выборку данных. Только при выполнении ряда ограничений возможно создание так называемых "живых" запросов, которые позволят производить изменения вручную и затем ав­томатически их отображать. Однако, вообще говоря, такие "жи­вые" запросы применяются довольно редко.

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

Многие свойства компонента Query аналогичны одноименным свойствам компонента Table, поэтому они не будут рассматри­ваться повторно. Здесь имеет смысл упомянуть только о некото­рых специфических свойствах компонента Query.

Свойство Active (тип Boolean) определяет активность ком­понента Query. Если свойство имеет значение True, то данный компонент содержит набор данных, основанный на выполнении SQL-запроса, определяемого свойством SQL. Если же свойство Active равно False, то набор данных пуст.

Свойство Constrained (тип Boolean), установленное в True, указывает на то, что в изменяемом наборе данных на записи, вводимые или изменяемые пользователем, накладываются ограни­чения секции WHERE оператора SELECT.

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

Свойство Local (тип Boolean) имеет значение True, если компонент Query работает с локальной или файл-серверной БД.

Свойство ParamCheck (тип Boolean) обеспечивает автома­тическое обновление списка параметров при изменении запроса на этапе выполнения программы, если имеет значение True.

Свойство Params [Index: Word] (тип TParams) содержит список параметров, передаваемых в SQL-запрос. Данное свойство имеет смысл только при создании параметрических запросов.

Свойство Prepared (тип Boolean) имеет значение True, если запрос подготовлен к выполнению посредством вызова ме­тода Prepare.

Свойство RequestLive (тип Boolean) позволяет изменять за­писи набора данных и обеспечивает автоматическое отображение этих изменений, если установлено в True. По умолчанию данному свойству присвоено значение False, то есть набор данных Query запрещено модифицировать. Для этого набора данных имеется воз­можность модификации, которая определяется содержанием SQL-запроса. В случае, когда с помощью запроса набор данных формиру­ется на основе нескольких таблиц, его нельзя модифицировать вне зависимости от значения свойства RequestLive.

Свойство RowsAffected (тип Integer) содержит количе­ство записей, которые были изменены или удалены в результате выполнения запроса.

Свойство SQL (тип TStrings) содержит текст SQL-запроса. Текст статического SQL-запроса можно вводить и изменять при помощи специального редактора, который вызывается при выборе данного свойства в окне Инспектора объектов. Общий вид ука­занного редактора показан на рис. 15.1.

Свойство State (тип TDataSetState) аналогично одно­именному свойству компонента Table и определяет состояние, в котором находится набор данных Query. Данный компонент мо­жет находиться в одном из состояний, описанных для компонента Table, кроме одного исключения. Набор данных Query не перехо­дит в режим dsSetKey, так как отбор записей производится средствами языка SQL.

Свойство Text (тип PChar) содержит текст SQL-запроса, ко­торый был в действительности передан BDE. Исходный текст за­проса может быть изменен программным образом, поэтому со держимое данного свойства может отличаться от содержимого свойства SQL компонента Query.

Свойство UniDirectional (тип Boolean), установленное в True, приводит к тому, что указатель текущей записи набора данных, может перемещаться только вперед. Такие наборы данных обрабатываются быстрее и занимают меньше памяти.

Рассмотрим наиболее важные методы компонента Query.

Метод Open позволяет открыть набор данных. Этот метод ис­пользуется для выполнения SQL-запроса, построенного на основе оператора SELECT и осуществляющего выборку записей из набо­ра данных. Кроме выполнения запроса, метод Open дает возмож­ность просмотреть содержимое набора данных, полученного в результате.

Метод ExecSQL применяется только для выполнения SQL-запроса. Этот метод не открывает набор данных и используется при работе с запросами, осуществляющими создание и удаление таблиц и индексов, изменение структуры таблиц, а также добавление, уда­ление и редактирование записей таблиц БД.

Метод Close закрывает набор данных. Этот метод необходи­мо вызывать перед любым изменением набора данных, а также перед динамическим изменением текста SQL-запроса.

Структурированный язык запросов (SQL) предназначен ис­ключительно для работы с таблицами БД. Данный язык не имеет средств, позволяющих реализовать циклы, ветвления, переходы, ввод/вывод и т.п. Поэтому язык SQL сам по себе обычно не ис­пользуется, а включается в состав других средств.

Полное и подробное описание языка SQL могло бы занять, ве­роятно, несколько увесистых томов, однако даже краткое описа­ние наиболее важных операторов и функций данного языка помо­жет читателю научиться создавать запросы достаточно высокого уровня. Особое внимание при дальнейшем изложении будет уде­лено оператору SELECT, с помощью которого осуществляется выбор данных из таблиц БД.

 

Контрольні питання

1. Характеристика методів компонентів Query

2. Порівняльна характеристика компонентів Query та Table

 

 


АУДИТОРНЕ ЗАНЯТТЯ

ЗМІСТОВИЙ МОДУЛЬ 6: ПРОГРАМУВАННЯ З ГРАФАМИ

ТЕМА 6.7: НАВІГАЦІЯ ПО НАБОРУ ДАНИХ. МОВА SQL. СТВОРЕННЯ ДОВІДКОВОЇ СИСТЕМИ

 

Лекція №60 – Робота з таблицями та індексами




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 529; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.