Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭКЗАМЕН АИС.DOC
Скачиваний:
21
Добавлен:
05.12.2018
Размер:
424.45 Кб
Скачать

37.Иср Delphi. Создание приложения для работы с бд. Компоненты доступа к данным. Назначение компонентов, из взаимосвязь.

В простейшем приложении в качестве набора данных используется компонент Table(страница BDE). На форму со страницы Data Access переносится компонент Data Source который будут являться источником данных. Оба эти компонента не визуальны. В качестве компонента визуализации данных используется компонент DBGrid (страница Data Control)- визуальный компонент, в котором будут отображаться данные.

  • Теперь необходимо установить цепочку связей между этими компонентами: главное свойство DBGrid и других компонентов визуализации и управления данными – DataSource. Выделив на форме компонент DBGrid1 в инспекторе объектов в свойстве DataSource указываем DataSource1.

  • Теперь определяем связь между источником данных и набором данных: выделив на форме компонент DataSource1 в инспекторе объектов свойства DataSet устанавливаем значение Table1.

  • Теперь связываем компонент Table1 c необходимой таблицей БД. Для этого служат 2 свойства компонента Table: DataBaseName,TableName. Прежде всего устанавливаем свойство DataBaseName, для чего в выпадающем списке этого свойства в инспекторе объектов указываем ранее созданный псевдоним БД. Значением св-ва TableName является таблица, доступная данной БД. Существует возможность еще в процессе проектирования соединиться с БД, для этого у компонента Table1 свойство Active:=true; после чего компилируем приложение.

Управлять работой с таблицей позволяет компонент DBNavigator (на стр.Data Control). Чтобы приложение с навигатором работало, надо установить его основное свойство DataSource в значение DataSource1.

Компонент DBNavigator имеет ряд кнопок, служащих для управления данными:

  1. nbFirst – перемещение к 1-ой записи

  2. nbPriorперемещение к предыдущей записи

  3. nbNextк следующей записи

  4. nbLastк последней записи

  5. nbInsertвставить новую запись перед текущей

  6. nbDeleteудалить текущую запись

  7. nbEditредактировать текущую запись

  8. nbPastпослать отредактированную информацию о БД

  9. nbCancelотменить результаты редактирования или добавление новой записи

  10. nbRefreshочистить буфер, связанный с набором данных.

Для грамотной работы приложения необходимо добавить процедуры соединения с БД в момент начала работы и разрыв этого соединения в момент окончания работы.

2 Сценария:

Procedure Tform1.FormCreate();

Begin

Table.Active:=true;

End;

Procedure Tform1.FormDestroy();

Begin

Table1.Active:=False;

End;

38.Реляционный способ доступа к данным. Особенности языка структурированных запросов sql. Организация статического запроса.

Определение выборки предложение WHERE

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

ПР: Предпо­ложим, необходимо узнать имена всех продавцов в Лондоне (London). В этом случае можно ввести следующую команду:

SELECT sname, city FROM Salespeople WHERE city = 'London';

При наличии предложения WHERE программа обработки базы данных про­сматривает таблицу строка за строкой и для каждой строки проверяет, истинен ли на ней предикат. Столбец city включен в результат не потому, что он указан в предложении WHERE, а потому, что имя этого столбца указано в предложении SELECT. Совершенно необязательно, чтобы столбец, используемый в предложении WHERE, был представлен в числе тех столбцов, которые необходимо видеть среди выходных данных.

Использование реляционных и булевых операторов.

Реляционный оператор — это математический символ, который задает оп­ределенный тип сравнения между двумя значениями. SQL распознает следующие операторы сравнения:

= Равно

> Больше, чем

< Меньше, чем

>= Больше или равно

<= Меньше или равно

<> Неравно

SQL распознает основные булевы операторы. Булевы выражения — это те выражения, относительно которых, подобно предикатам, можно сказать, истин­ны они или ложны. Булевы операторы связывают одно или несколько значений "истина/ложь" и в результате получают единственное значение "истина/ложь". Стандартные булевы операторы, распознаваемые SQL, — это AND, OR, NOT. Существуют и другие, более сложные булевы операторы (как, например, "исклю­чающее ИЛИ. Далее перечислены булевы операторы и основные принципы их действия:

AND берет два булевых выражения (в виде A AND В) в качестве аргументов и дает в результате истину, если они оба истинны.

OR два булевых выражения (в виде A OR В) в качестве аргументов и оценивает результат как истину, если хотя бы один из них истинен.

NOT берет единственное булево выражение (в виде NOT А) в качестве аргу­мента и изменяет его значение с истинного на ложное или с ложного на истинное.

Используя предикаты с булевыми операторами, можно значительно увели­чить их избирательную мощность. Предположим, необходимо увидеть всех по­купателей (customers) из San Jose, чей рейтинг (rating) превышает 200:

SELECT *FROM Customers WHERE city = 'San Jose' AND rating > 200;

При использовании OR , будут получены сведения обо всех тех покупателях (customers), которые либо проживают в San Jose, либо имеют рейтинг (rating), превышающий 200.

SELECT *FROM Customers WHERE city = 'San Jose' OR rating > 200;

Использование специальных операторов в «условиях»

Оператор IN

IN полностью определяет множество, которому данное значение может при­надлежать или не принадлежать. Если нужно найти всех продавцов, располо­женных либо в 'Barcelona', либо в 'London', основываясь только на том, что известно к настоящему моменту, необходимо написать следующий запрос:

SELECT *FROM SalespeopleWHERE city IN ('Barcelona', 'London');

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

Оператор BETWEEN

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

Следующий запрос позволит извлечь из таблицы Salespeople всех продавцов (salespeople), комиссионные которых имеют величину в диапазоне 0.2 и 0 .6:SELECT FROM Salespeople WHERE comm BETWEEN 0.1 AND 0.6;

Следующий запрос выбирает всех покупателей имена которых попадают в заданный алфавитный диапазон:SELECT *FROM Customers WHERE cname BETWEEN 'A' AND 'G';

Оператор LIKE

LIKE применим только к полям типа CHAR или VARCHAR, поскольку он используется для поиска подстрок. Для чего используются шаблоны — специальные символы, которые могут обозначать все, что угодно:

  • Символ "подчеркивание" (_) заменяет один любой символ.

  • Символ "процент" (%) заменяет последовательность символов произвольной длины, в том числе и нулевой.

Можно найти покупателей, фамилии которых начинаются на 'G' :SELECT * FROM Customers WHERE cname LIKE 'G%';

Упорядочение выходных полей

В SQL применяется команда ORDER BY, позволяющая внести некоторый порядок в выходные данные запроса. Она их упорядочивает в соответствии со значениями одного или нескольких выбранных столбцов. Множество столбцов упорядочиваются один внутри другого, и можно задать возрастающую (ASC) или убывающую (DESC) последовательность сортировки для каждого из столбцов.

Таблица заявок (Orders), упорядоченная по номеру заявки, выглядит так:

SELECT* FROM Orders ORDER BY cnum DESC;

Внутри уже произведенного упорядочения по полю cnum можно упорядочить таблицу и по другому столбцу, например, amt: SELECT *FROM Orders ORDER BY cnum DESC, amt DESC;