Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 470

Метод First перемещает курсор на начало набора результатов запроса; метод Last перемещает курсор в конец. Методы Next и Prior используются для перемещения на одну строку вперед или назад, соответственно. С помо­щью MoveBy можно переместиться вперед или назад на заданное число строк относительно текущей строки.

Методы Append и Insert используются для добавления пустых строк к результату запроса компонента TStoredProc. AppendRecord и InsertRecord вставляют в набор результатов строку, поля которой содержат заданные зна­чения.

Метод Delete удаляет строку в текущей позиции курсора. Метод Edit позволяет изменять строку в текущей позиции, переводя набор результатов в режим редактирования. Метод Post сохраняет изменения в базе данных, тогда как Cancel отменяет их.

Каптируемые изменения

Выше уже говорилось, что единственный способ изменения результатов запроса состоит в использовании кэширования и компонента TUpdateSQL. Как правило, вам достаточно установить свойства InsertSQL, DeleteSQL и ModifySQL компонента TUpdateSQL, а остальную работу этот компонент берет на себя. После вызова метода ApplyUpdates компонента TStoredProc выпол­няется релевантный SQL. Поскольку вы можете контролировать SQL, сгене­рированный для обновления TDataSet, можно написать код, модифицирую­щий результаты запроса, которые в противном случае были бы доступны только для чтения.

В компоненте TUpdateSQL определены операторы SQL для вставки, из­менения и удаления строк. Эти операторы SQL могут представлять собой составные запросы, обновляющие несколько таблиц или даже результаты вызовы других хранимых процедур. Для ссылок на объекты TUpdateSQL служит свойство UpdateObjects компонента TStoredProc.

TStoredProc имеет два метода, которые непосредственно относятся к кэ- шируемым изменениям: ApplyUpdates и CancelUpdates. ApplyUpdates сохра­няет изменения, сделанные вами в базе данных. Фактически это сводится к выполнению релевантных SQL-операторов INSERT, UPDATE или DELETE в соответствующем компоненте UpdateSQL. Обратите внимание, что вы мо­жете установить обработчик события OnUpdateError для реакции на ошибки, которые могут возникнуть при вызове ApplyUpdates.

Web-дизайн (с) 2010 All rights reserved