12159

ПОСТРОЕНИЕ ЗАПРОСОВ В DELPHI

Лекция

Информатика, кибернетика и программирование

ПОСТРОЕНИЕ ЗАПРОСОВ В DELPHI Запрос это вопрос к базе данных возвращающий запись или множество записей удовлетворяющих вопросу. Любой запрос по базе данных выполняется на языке SQL Structured Query Language язык структурированных запросов который был создан Microsoft в конце 70х год...

Русский

2013-04-24

36 KB

15 чел.

ПОСТРОЕНИЕ ЗАПРОСОВ В DELPHI

Запрос – это вопрос к базе данных, возвращающий запись или множество записей, удовлетворяющих вопросу. Любой запрос по базе данных выполняется на языке SQL (Structured Query Language – язык структурированных запросов), который был создан Microsoft в конце 70-х годов.  

Delphi позволяет приложению при помощи запросов SQL использовать  данные таблиц Paradox и dBase (синтаксис локального SQL), а также локального сервера InterBase и  удаленных серверов SQL.

7.1 Компонент Query

Компонент Query представляет собой набор данных, который непосредственно связан с базой данных и предназначен для работы с запросами SQL. При работе с локальными базами данных целесообразнее использовать компонент Table, а при построении серверных приложений – Query.

7.1.1 Основные свойства компонента Query 

Приложение, работающее с запросами, должно содержать, как минимум, три основных компонента: набор данных, источник данных и компонент, отвечающий за отображение данных на форме. Связь между этими компонентами устанавливается обычным образом через соответствующие свойства (исключение составляет свойство DataSource компонента Query: оно не устанавливается, т.к. может иметь отношение к приложениям с несколькими связанными таблицами).

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

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

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

Доступ к полю программным способом осуществляется так же, как и в компоненте Table (по порядковому номеру поля, по имени поля или по имени объекта).

Свойства Filter, Filtered и FilterOptions предоставляют возможность фильтрации данных таблицы.

7.1.2 Построитель запросов SQL Builder 

Для построения запросов в компоненте Query имеется специальное программное средство – визуальный построитель запросов, вызов которого осуществляется с помощью опции “SQL Builder…” контекстного меню компонента. Построитель  запросов позволяет в режиме диалога сформировать запрос на языке SQL, который затем может быть записан в качестве значения свойства SQL компонента Query. Просмотреть и отредактировать строку запроса можно с помощью опции “Query | Show SQL” главного меню построителя запросов. Просмотреть результаты выполнения запроса можно с помощью опции “Query | Run SQL”.

7.1.3 Основные методы компонента Query 

К основным методам компонента Query относятся методы открытия (Open) и закрытия (Close) соединения с базой данных.

Метод Close переводит свойство Active в false и закрывает тем самым соединение  с базой данных. Этот метод надо выполнять перед изменением каких-то свойств, влияющих на выполнение запроса или на отображение данных. Например, при изменении запроса в свойстве SQL надо сначала закрыть соединение, связанное с прежним запросом, а потом уже выполнять новый запрос.

Метод Open открывает соединение с базой данных и выполняет запрос, содержащийся в свойстве SQL. Но этот метод применим только в том случае, если запрос сводится к оператору Select. Для осуществления любого другого запроса используется метод ExecSQL. Универсальный блок, позволяющий выполнить любой запрос, выглядит следующим образом:

try

Ouery1.Close;

Ouery1.SQL.Clear;

Ouery1.SQL.Add(<строка запроса>);

 Ouery1.Open;

except

on EDatabaseError do Query1.ExecSQL;

end;

Управление состоянием набора данных, пересылка записи в базу данных, навигация по таблице, кэширование изменений осуществляются теми же методами, что и для компонента Table. Для поиска записей применяется метод Locate.

7.2 Основы языка SQL

Общие правила синтаксиса языка SQL:

  •  язык не чувствителен к регистру;
  •  если используется несколько операторов, то они отделяются друг от друга точкой с запятой;
  •  при использовании одного оператора точка с запятой в конце не обязательна;
  •  комментарий может быть записан в стиле Си: /*<комментарий>*/ или Паскаля: {<комментарий>}.

7.2.1 Оператор выбора Select

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

Одна из форм этого оператора имеет синтаксис:

Select <список имен полей> from <таблица>

 where <условие отбора> order by <список имен полей>;

где:

<список имен полей>  содержит имена тех полей таблицы, которые будут возвращены (если указать вместо списка символ «*», то будут возвращены все поля);

<таблица> определяет имя таблицы базы данных, из которой осуществляется отбор;

where определяет условие отбора записей;

order by задает порядок сортировки возвращаемых записей.

7.2.2 Операции с записями

Вставка новой записи в таблицу осуществляется оператором Insert, который может один из следующих видов:

Insert into <имя таблицы> (<список полей>)

 values (<список значений>)

или

Insert into <имя таблицы> <оператор Select>

Редактирование записей осуществляется оператором Update:

Update <имя таблицы> set <список вида

<поле>=<выражение>> where <условие>;

Удаление записей осуществляется оператором Delete:

Delete from <имя таблицы> where <условие>

Подробнее о языке SQL читайте в книге А.Я.Архангельский «Язык SQL в Delphi 5» на стр. 25-44.


 

А также другие работы, которые могут Вас заинтересовать

51802. Потреби й права споживача. Раціональна поведінка. Оцінка корисності споживчого блага та бюджет корисності 104 KB
  Ціль споживача мати максимальну корисність від споживання товарів і послуг. Споживачу зацікавленому в задоволенні своїх потреб з найменшими витратами обмежених засобів доводиться задумуватися над наступними питаннями: на що в першу чергу витратити свої доходи Споживач оцінює товар або послугу насамперед з погляду їхньої корисності Корисність це суб'єктивне відчуття задоволеності від споживання блага Корисність кожного блага має свої критерії. Наприклад корисність одягу проявляється в розмірі кольорі дизайні; корисність продуктів...
51803. Подготовка учителя к уроку истории 32.5 KB
  Вот почему качество подготовки учащихся по той или иной учебной дисциплине во многом определяется уровнем проведения урока его содержательной и методической наполненностью его атмосферой. Для того чтобы этот уровень был достаточно высоким надо чтобы учитель в ходе подготовки урока постарался сделать его своеобразным произведением со своим замыслом завязкой и развязкой подобно любому произведению искусства. Как же построить такой урок Как сделать так чтобы урок не только вооружал учащихся знаниями и умениями значимость которых...
51804. Формы окончания предварительного расследования 71.5 KB
  ЦЕЛИ: обучающая научить объяснять сущность и различать формы окончания предварительного расследования; развивающая способствовать развитию аналитического мышления интереса к знаниям; воспитательная способствовать воспитанию положительного отношения к знаниям правовой культуры. Таблица: Формы окончания предварительного расследования. Слово преподавателя: На тему Формы окончания предварительного расследования примерным тематическим планом отведено 6 часов.
51806. УРОК РУССКОГО ЯЗЫКА 87.5 KB
  Цели и содержание конкретного урока русского языка Урок будучи наименьшей единицей учебного процесса реализует часть его целей и содержания. Особенности урока РУССКОГО освещение лингвистич проблем работа по развитию устной и письменной речи в разных видах речевой дти. Структурные элементы урока и их функции Урок как единица учебного процесса складывается из ряда относительно самостоятельных видов совместной деятельности учителя и учащихся которые составляют его особые структурные элементы: оргмомент проверка домашнего задания...
51808. Візуальні види мистецтва. Античне мистецтво. Мистецтво доби Відродження 38 KB
  Хто є автором скульптури Менада а Скопас б Лісіпп в Фідій 2. Хто з художників зображав види Толедо а Франсіско Гойя б Дієго Веласкес в Ель Греко 10. Хто з художників працював у напрямі сюрреалізм а Франсіско Гойя б Сальвадор Далі в Дієго Веласкес ІІІ рівень репродуктивнотворчий 1 бал Назвіть видатних скульпторів Давньої Греції. Хто є автором скульптури Сатир який відпочиває а Праксітель б Лісіпп в Мірон Хто є автором славетної праці Дискобол а Афінодор б Мірон в Полідор 3.
51809. Роль мови у формуванні і самовираженні особистості 78 KB
  Яке значення має рідна мова для національної самоідентефікації ЧИТАННЯ МОВЧКИ. Сказав мені один ханжа Що наша мова геть відстала Що краще б йшла мені чужа Коли б я вивчив її змалу....
51810. Германия 47 KB
  Оценивание на этом уроке будет проходить с помощью полоски оценивания Тест Самообразовательная деятельность Активность на уроке Участие в ролевой игре Итоговая оценка При подготовке На уроке Представление темы слайд № 1. Фронтально тест слайд № 2 №3 №;4 Научный спор. Можно ли зная историю современной Франции особенно последних событий однозначно утверждать Чем больше демократии тем лучше Сколько должно быть демократии Мотивация учебной деятельности Слайд №5. Что было самой большой проблемой...