
- •29. Типи даних мови sql
- •30. Прості вибірки даних. Основні sql-вирази для вибірки даних.
- •Обчислення в sql.
- •Использование итоговых функций
- •Складні запити. Теоретико-множинні операції: декартовий добток, обєднання наборів записів, перелік, віднімання наборів запитів.
- •Операції об’єднання.
- •Рекурсивні запити.
- •Добавлення, видалення та зміна даних в таблицях.
- •Створення та модифікація таблиць. Створення і модифікація таблиць у режимі Конструктор.
- •Создание таблиц в бд MySql
- •Управління правами доступу. Операторы управления правами доступа.
- •Изменение прав доступа к объектам базы данных
- •Компонент tDataSource
- •Компонент tTable
- •Компонент tField
- •Компонент tdbGrid
- •Компонент Query: загальні відомості, динамічні запити і параметри Query.
- •Параметры Query.
- •Основные свойства Query.
- •Основные методы компонента Query.
- •Основні властивості Query, зв’язування таблиць.
- •Кешування змін, сумісне застосування Query і UpdateSql.
- •Робота з бд в мережі.
- •Режимы работы с базой данных в сети
Параметры Query.
SQL допускает использование динамических запросов, содержащих параметры. Параметры задаются в запросе с двоеточием, предшествующим имени параметра. например, если ввести в свойство SQL запрос:
Select * from pers where (year_b>:PYear) and (dep=:Dep) а потом щелкнуть в Инспекторе Объектов на свойстве Params, то откроется диалоговое окно со списком указанных в запросе параметров, в котором, выделяя параметры по очереди можно задать их сойства:
DataType |
Тип данных параметра (integer, string и т.д.) |
Name |
Имя параметра |
ParamType |
Тип параметра (используется при обращении к процедурам, хранимым на сервере) |
Value |
Значение параметра по умолчанию |
Программный доступ к параметрам во время выполнения приложения осуществляется аналогично доступу к полям набора данных. праметры явдяются объектами типа TParam, образующими массив Params, к элементам которого можно обращаться по индексу. Значения параметров, как и значения полей, определяются такими свойствами объектов-параметров, как Value, Asstring, AsInteger и т.п. Например Query1.Params[0].AsInteger:=1965; Последовательность, в которой располагаются параметры в свойстве Params, определяется последовательностью их упоминания в запросе SQL. Другой способ обращения к параметрам, в котором не надо помнить их индексы – использование их метода ParamByName. Например Query1.ParamByName(‘PYear’).AsInteger:=1965; Чтобы получить результат запроса после задания параметра, надо повторно выполнить запрос.
Основные свойства Query.
Программный доступ к полем компонента Query осуществляется с помощью свойства Fields, по индексу: Query1.Fields[1] или методом FieldByName: Query1. FieldByName(Dep) или по имени объекта поля: Query1Dep.
Для доступа к значениям полей используются те же их свойства Value, Asstring, AsInteger и т.п. Как и в табле можно осуществлять навигацию по набору данных, устанавливать фильтры, ограничивать вводимые значения полей, кэшировать изменения.
Отличие свойства DataSource: Это свойство компонента Query позволяет строить приложения, содержащее связанные друг с другом таблицы. Например, построим приложение, в котором при перемещении по таблице Dep будут отображаться соответствующие записи из таблицы Pers:
на форму поместим компоненты Query1(DataBaseName=dbP, SQL=’Select * from Dep’), DataSource1(DataSet=Query1), DBGrid1(DataSource=DataSource1).
на форму поместим компоненты Query2(DataBaseName=dbP, SQL=’Select * from Pers’), DataSource2(DataSet=Query2), DBGrid2(DataSource=DataSource2).
Компоненты DBGrid будут отображать данные из таблиц независимо.
Если изменить в Query2
SQL=’Select * from Pers Where (Dep=:Dep)’
и в свойстве DataSource компонента Query2 задать источник, связанный с таблицей Dep:
Query2. DataSource= DataSource1, это скажет приложению, что оно должно взять значение параметра :Dep из текущей записи этого источника данных, в качестве параметра будет взято текущее значение этого поля.
Таким образом вспомогательная таблица окажется связанной с головной таблицей