Мегаобучалка Главная | О нас | Обратная связь


Работа в среде Delphi с БД. Компоненты ADO



2018-07-06 607 Обсуждений (0)
Работа в среде Delphi с БД. Компоненты ADO 0.00 из 5.00 0 оценок




В Delphi 5.0 появились компоненты для работы с ADO. ADO это технология стандартного обращения к реляционным данным от Microsoft. Эта технология аналогична BDE по назначению и довольно близка по возможностям.

Следует отличать компоненты Delphi, являющиеся частью библиотеки визуальных компонентов Delphi (VCL), и интерфейсы и объекты ADO, которые в них инкапсулированы. В дальнейшем, когда упоминается компонент – это компонент Delphi, а когда объект или интерфейс – это объект или интерфейс ADO.

Обзор компонент

Для работы с ADO на вкладке компонентов ADO есть шесть компонентов: TADOConnection, TADOCommand, TADODataSet, TADOTable, TADOQuery, TADOStoredProc (см. рисунок 14.1).

 

 

Рисунок 14.1 - Палитра компонент ADO

 

TADOConnection – используется для указания базы данных и работы транзакциями.

TADOTable – таблица доступная через ADO.

TADOQuery – запрос к базе данных. Это может быть как запрос, в результате которого возвращаются данные и базы (например, SELECT), так и запрос не возвращающий данных (например, INSERT).

TADOStoredProc – вызов хранимой процедуры. В отличие от BDE и InterBase хранимые процедуры в ADO могут возвращать набор данных, по этому компонент данного типа является потомком от TDataSet и может выступать источником данных в компонентах типа TDataSource.

TADOCommand и TADODataSet являются наиболее общими компонентами для работы с ADO, но и наиболее сложными в работе. Оба компонента позволяют выполнять команды на языке провайдера данных (так в ADO называется драйвер базы данных).

Разница между ними в том, что команда, исполняемая через TADODataSet, должна возвращать набор данных и этот компонент позволяет работать с ними средствами Delphi (например, привязать компонент типа TDataSource). А компонент TADOCommand позволяет исполнять команды не возвращающие набор данных, но не имеет штатных средств Delphi для последующего использования возвращенного набора данных.

Очевидно, что все компоненты должны связываться с базой данных. Делается это двумя способами либо через компонент TADOConnection либо прямым указанием базы данных в остальных компонентах. К TADOConnection остальные компоненты привязываются с помощью свойства Connection, к базе данных напрямую через свойство ConnectionString.

База данных может быть указана двумя способами через файл линка к данным (файл в формате Microsoft Data Link, расширение UDL), либо прямым заданием параметров соединения.

Создание SQL запросов

SQL (Structured Query Languade - Структурированный язык запросов) является языком высокого уровня, предназначенным для реляционных баз данных.

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

Поэтому, в язык SQL в качестве составных частей входят:

- язык манипулирования данными (Data Manipulation Language, DML);

- язык определения данных (Data Definition Language, DDL);

- язык управления данными (Data Control Language, DCL).

Это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд.

Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:

- SELECT (выбрать);

- INSERT (вставить);

- UPDATE (обновить);

- DELETE (удалить).

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

- CREATE DATABASE (создать базу данных);

- CREATE TABLE (создать таблицу);

- CREATE VIEW (создать виртуальную таблицу);

- CREATE INDEX (создать индекс);

- CREATE TRIGGER (создать триггер);

- CREATE PROCEDURE (создать сохраненную процедуру);

- ALTER DATABASE (модифицировать базу данных);

- ALTER TABLE (модифицировать таблицу);

- ALTER VIEW (модифицировать виртуальную таблицу);

- ALTER INDEX (модифицировать индекс);

- ALTER TRIGGER (модифицировать триггер);

- ALTER PROCEDURE (модифицировать сохраненную процедуру);

- DROP DATABASE (удалить базу данных);

- DROP TABLE (удалить таблицу);

- DROP VIEW (удалить виртуальную таблицу);

- DROP INDEX (удалить индекс);

- DROP TRIGGER (удалить триггер);

- DROP PROCEDURE (удалить сохраненную процедуру).

Рассмотрим основные команды. В качестве примера рассмотрим БД testdb.mdb.

В самой простой форме команда SELECT просто инструктирует БД, чтобы извлечь информацию из таблицы.

SELECT name

FROM table1

SELECT - ключевое слово, которое сообщает базе данных, что эта команда - запрос. Все запросы начинаются этим словом с последующим пробелом.

name - это название столбца из таблицы, который выбирается запросом. Любые столбцы, не перечисленные здесь, не будут включены в вывод команды.

FROM - ключевое слово, подобное SELECT, которое должно быть представлено в каждом запросе. Оно сопровождается пробелом и именем таблицы, используемой в качестве источника информации. В данном случае это таблица table1.

Если вы хотите видеть все столбцы таблицы, имеется необязательное сокращение, которое вы можете использовать. Звёздочка (*) может применяться для вывода полного списка столбцов следующим образом:

SELECT *

FROM table1

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

WHERE - предложение команды SELECT, которое позволяет устанавливать предикаты, условие которых может быть или верным (true), или неверным (false) для любой строки таблицы. Команда извлекает только те строки из таблицы, для которых такое утверждение верно. Например, предположим, вы хотите найти сотрудника с ФИО «Иванов Иван Иванович»:

SELECT *

FROM table1

WHERE name = " Иванов Иван Иванович "

Когда предложение WHERE предоставлено, программа базы данных просматривает всю таблицу построчно и исследует каждую строку, чтобы определить, верно ли утверждение.

LIKE применим только к строковым (текстовым) полям, с которыми он используется для поиска подстрок. Т.е. он ищет поле символа, чтобы увидеть, совпадает ли с условием часть его строки. В качестве условия он использует групповые символы-шаблоны (wildсards) - специальные символы, которые могут соответствовать чему-нибудь.

Имеются два типа шаблонов, используемых с LIKE:

- символ подчёркивания ( _ ) замещает любой одиночный символ. Например, 'b_t' будет соответствовать словам 'bat' или 'bit', но не будет соответствовать 'brat'.

- знак процента (%) замещает последовательность любого количества символов (включая символы нуля). Например '%p%t' будет соответствовать словам 'put', 'posit', или 'opt, но не 'spite'.

Давайте найдём всех сотрудников, чьи ФИО начинаются с «Ива»:

SELECT *

FROM table1

WHERE name LIKE 'Ива%'

Давайте найдём всех сотрудников, чьи ФИО содержат «нов»:

SELECT *

FROM table1

WHERE name LIKE '%нов%'

Можно удалять строки из таблицы командой модификации DELETE. Она может удалять только строки, а не индивидуальные значения полей, так что параметр поля является необязательным или недоступным. Чтобы удалить всё содержание таблицы table1, можно ввести следующее условие:

DELETE FROM table1

Обычно необходимо удалить только некоторые определённые строки из таблицы. Чтобы определить, какие строки будут удалены, используйте предикат так же, как вы это делается для запросов. Например, чтобы удалить сотрудника с ФИО «Иванов Иван Иванович»:

DELETE FROM table1

WHERE name = " Иванов Иван Иванович "

Рассмотрим, как изменить некоторые или все значения в существующей строке. Это выполняется командой UPDATE. Эта команда содержит предложение UPDATE, в котором указано имя используемой таблицы, и предложение SET, которое указывает на изменение, выполняемое для определенного столбца. Например, чтобы изменить ФИО сотрудника с кодом, равным 1, необходимо написать:

UPDATE table1

SET name = " Петров Петр Петрович "

WHERE id=1

 



2018-07-06 607 Обсуждений (0)
Работа в среде Delphi с БД. Компоненты ADO 0.00 из 5.00 0 оценок









Обсуждение в статье: Работа в среде Delphi с БД. Компоненты ADO

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (607)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)