Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4
Кент Рейсдорф. BORLAND C++BUILDER. Страница 464
Изменение TDataSet типа read-only будет рассмотрено позже, при обсуждении компонента UpdateSQL.
On...Error
События OnEditError, OnDeleteError и OnPostError позволяют вам реагировать на ошибки, происходящие при модификации данных в TDataSet. Обработчикам всех этих событий передаются три параметра: TDataSet, в котором произошла ошибка, класс исключения, вызванного ошибкой и параметр var, позволяющий вам указать действие, которое должно быть выполнено после вызова обработчика. Далее приводится пример обработчика, сгенерированного C++Builder для событий On...Error:
void fastcall TForml::TablelDeleteError(TDataSet *TDataSet,
EDatabaseError *E, TDataAction SAction) {
}
Вы можете установить для Action любое из трех значений: daFail, daAbort или daRetry.
TQuery
Модуль: DBTables Класс-предок: TDBDataSet
Так же, как и ТТаЫе, TQuery является прямым потомком класса DBDataSet и косвенным потомком класса TDataSet. TQuery используется для посылки явных операторов SQL системе управления базой данных. Эти SQL выполняются над локальными таблицами или передаются серверу базы данных. Для выполнения запроса и возврата результата, нужно использовать метод Open или установить для свойства Active значение true. Предполагая, что запрос удовлетворяет ограничениям C++Builder на «активные» запросы, вы можете затем рассматривать результат как таблицу, что примерно соответствует работе оператора SQL VIEW на многих серверах баз данных. Вы можете изменить, добавить и удалить строки этой таблицы точно так же, как при использовании компонента ТТаЫе.
В таблицах 16.11, 16.12 и 16.13 перечислены соответственно основные свойства, методы и события компонента TQuery.
Таблица 16.11. Основные свойства TQuery
I Свойство | Описание | |||
Active | Открывает и закрывает TDataSet. | |||
AutoCalcFields | Определяет способ вычислений с использованием полей. | |||
Bof | Показывает, находится ли TDataSet на начале. | |||
CachedUpdates | Определяет, будут ли кэшироваться обновленные данные. | |||
Constrained | Контролирует допустимые изменения для активных результатов. | |||
Database | Идентифицирует TDatabase, используемый TDataSet. | |||
DatabaseName | Устанавливает псевдоним, используемый для соединения с базой данных. | |||
DataSource | Определяет TDataSource для получения параметров запроса. | |||
DBHandle | Возвращает дескриптор низкоуровневого соединения BDE. | |||
Eof | Показывает, достигнут ли конец TDataSet. | |||
FieldCount | Возвращает количество полей в TDataSet. | |||
FieldDefs | Содержит информацию о полях TDataSet. | |||
Fields | (Индексируемое) возвращает указанное поле TDataSet. | |||
Filter | Определяет выражение, используемое для фильтрации записей. | |||
Filtered | Определяет, какая фильтрация используется: указанная в Filter или в OnFilterRecord. | |||
FilterOptions | Управляет работой фильтров. | |||
Handle | Возвращает дескриптор низкоуровневого курсора BDE. | |||
Modified | Показывает, была ли данная запись изменена с момента последнего Post или Cancel. | |||
ParamCount | Показывает количество параметров SQL-запроса. | |||
Params | Определяет параметры, используемые для SQL-запроса. | |||
Prepared | Показывает, готов ли запрос. | |||
RecordCount | Возвращает количество строк в TDataSet. | |||
RequestLive | Определяет, будут ли результаты запроса изменяемыми. | |||
SessionName | Указывает, какой компонент TSession используется для соединения с базой данных. | |||
SQL | Определяет SQL-операторы для выполнения на сервере. | |||
State | Возвращает состояние TDataSet (например, dsEdit или dsBrowse). | |||
StmtHandle | Возвращает низкоуровневый дескриптор BDE для последнего результата запроса. | |||
UniDirectional | Устанавливает движение курсора только в одном направлении. | |||
UpdateMode | Определяет тип SQL, используемого для изменения данных. | |||
UpdateObject | Определяет компонент UpdateSQL для использования совместно с кэшируемыми изменениями. | |||
551 | день Щ',1 | |||
Таблица 16.12. Основные методы TQuery | ||||
Метод | Функция | |||
Append | Добавляет пустую строку к TDataSet и переводит его в режим редактирования. | |||
AppendRecord | Добавляет строку к TDataSet, используя указанные значения. | |||
ApplyUpdates | Сохраняет кэшированные изменения в базе данных. | |||
Cancel | Отменяет ждущее изменение текущей строки. | |||
CancelUpdates | Отменяет ждущие изменения, занесенные в кэш. | |||
ClearFields | Устанавливает для полей текущей строки значения по умолчанию. | |||
Close | Закрывает TDataSet. | |||
Delete | Удаляет текущую запись. | |||
Edit | Переводит TDataSet в режим редактирования. | |||
ExecSQL | Выполняет SQL без возврата курсора. | |||
FetchAII | Считывает все строки базы данных, ожидающие своей очереди. | |||
FieldByName | Возвращает TField, используя имя поля в базе данных. | |||
FindKey | Выполняет точный поиск в TDataSet. | |||
GetFieldNames | Возвращает список полей в TDataSet. | |||
Insert | Вставляет пустую строку и позволяет ее редактировать. | |||
InsertRecord | Вставляет строку, используя заданные значения столбцов. | |||
Locate | Осуществляет поиск записи в TDataSet. | |||
Lookup | Осуществляет поиск записи в TDataSet и возвращает значения ее полей. | |||
MoveBy | Перемещает курсор TDataSet на заданное количество строк. | |||
Open | Открывает TDataSet. | |||
ParamByName | Возвращает параметр запроса по его имени. | |||
Post | Сохраняет ждущие изменения текущей строки. | |||
RevertRecord | Отменяет кэшированные изменения текущей строки. | |||
Таблица 16.13. Основные события TQuery | ||||
Событие | Условие возникновения | |||
AfterCancel | После вызова Cancel. | |||
AfterClose | После закрытия TDataSet. | |||
AfterDelete | После вызова Delete. | |||
AfterEdit | После вызова Edit. | |||
Afterlnsert | После вызова Insert. | |||
AfterOpen | После открытия TDataSet. | |||
AfterPost | После вызова Post. | |||
BeforeCancel | Перед выполнением Cancel. | |||
BeforeClose | Перед закрытием TDataSet. | |||
BeforeDelete | Перед выполнением Delete. | |||
BeforeEdit | Перед выполнением Edit. | |||
Beforelnsert | Перед выполнением Insert или Append. | |||
BeforeOpen | Перед открытием TDataSet. | |||
BeforePost | Перед выполнением Post. | |||
OnCalcField | При необходимости ввода значений в вычисляемые поля. | |||
OnDeleteError | При ошибке удаления записи. | |||
OnEditError | При ошибке редактирования записи. | |||
OnFilterRecord | В режиме фильтрации, когда TDataSet требует строку. | |||
OnNewRecord | При добавлении новой записи к TDataSet. | |||
OnPostError | При ошибке сохранения записи. | |||
OnUpdateError | При ошибке во время сохранения обновленного содержимого кэша. | |||
OnUpdateRecord | При сохранении каждой строки с помощью ApplyUpdates. | |||
Ключевые элементы