Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt.rtf
Скачиваний:
283
Добавлен:
19.08.2013
Размер:
4.05 Mб
Скачать

31.3. Изменение данных

Изменение данных средствами языка программирования производится с помощью атрибутов и методов объекта – набора данных (DataSet) по одной записи в следующем порядке (слайд 5):

  1. Позиционирование курсора на нужную запись одним из следующих способов:

    1. С помощью поиска нужно записи (как описано выше).

    2. Путем перехода по записям (методы First, Last, Next, Prior, MoveBy) с необязательной проверкой дополнительных условий.

  2. Чтение данных из поля записи (не обязательно) одним из следующих способов (чтение данных самой записи производится автоматически при перемещении курсора):

    1. С помощью метода GetFieldData, возвращающего указатель на сами данные (а также с помощью методов GetBlobFieldData и т.п.).

    2. С помощью атрибута FieldValues (ассоциативный массив15данных типаVariant).

    3. Путем явного обращения к полю. Сначала получение объекта поля (типа TField16) с помощью метода FieldByName. Затем чтение данных поля (метод TField.GetData, атрибуты TField.Value, TFiled.AsInteger, TField.AsString и т.п.).

  3. Переключение в режим редактирования (путем вызова метода Edit).

  4. Запись новых (измененных) данных в поле записи одним из следующих способов:

    1. Путем присвоения значений атрибуту FieldValues (ассоциативный массив данных типа Variant).

    2. С помощью метода SetFields (ввод значений всех полей).

    3. Через объект поля (TField) путем присвоения данных атрибуту TField.NewValue или путем вызова методов TField.SetData или TField.AssignValue.

  5. Сохранение изменений. Все изменения, описанные выше, сначала производятся в буфере (оперативной памяти). Для действительной записи изменений в базу данных необходимо вызвать метод UpdateRecord.

Добавление записей производится одним из следующих способов (также через объект DataSet) (слайд 6):

  1. Добавление пустой записи с помощью методов Insert или Append (в поля записываются значения по умолчанию или пустые значения).

  2. Добавление записи с явной инициализацией значений полей с помощью методов InsertRecord или AppendRecord.

Удаление записи производится путем вызова (также через объект DataSet) метода Delete.

Изменение данных с помощью визуальных компонентов описано ниже.

Изменение данных средствами сервера базы данных производится с помощью команд языка манипулирования данными (слайд 7). Например, в языке SQL основными командами изменения записей служат: update (изменение записи), insert into (добавление записи), delete (удаление записи). Некоторые сервера баз данных позволяют выбирать дисциплину изменения записи (использовать команду update или пару команд delete – insert).

Эти операции выполняются с помощью специального объекта (например, типа TQuery). Формирование SQL-запроса возможно в явном виде или с помощью специального средства SQL Builder, позволяющего упростить написание текста запроса.

Параметризованные запросы (слайд 8)

Параметризованные запросы строятся на основе заранее заданных выражений, в которые подставляются значения параметров в процессе выполнения приложения. Такие запросы удобно показать на примере компонента «выборка» (TQuery). Следует отметить, что запросы не ограничиваются только выборкой данных. Это могут быть любые операции, выразимые средствами языка SQL. Например, можно использовать параметризованные операции добавления записей.

Формирование и выполнение параметризованного запроса выполняется в следующем порядке (на примере компонента «выборка» - TQuery):

  1. Указывается имя базы данных (атрибут DatabaseName), с которой будут выполняться операции.

  2. Формируется скелет SQL-запроса (если он не создается динамически в процессе выполнения программы):

    1. Сам текст запроса удобно сформировать с помощью встроенного средства SQL Builder.

    2. Добавляются параметры (раздел Params) в дереве компонентов (Object TreeView).

  3. Производится удаление текста предыдущего SQL-запроса (путем вызова метода Clear атрибута SQL).

  4. Формируется SQL-запрос (если он не сформирован изначально на этапе реализации программы):

    1. Составляется текст запроса (добавление строк в атрибут SQL). Имена параметров задаются после двоеточия. Например, select * from students where fio like :fio. При обработке запроса данные для подстановки в запрос будут браться из параметра fio.

    2. Вводятся значения параметров (путем присвоения значений атрибуту Params.ParamValues, который представляет собой ассоциативный массив).

  5. Вызывается метод Prepare предварительной подготовки запроса. Это делается в целях оптимизации.

  6. Запускается выполнение SQL-запроса путем вызова метода ExecSQL.

Соседние файлы в предмете Базы данных