Назначение компонента ТТablе в создании БД. Основные свойства и методы компонента
Компонент TTable используется для связи с конкретным набором данных, т.е. с таблицей.
- Создать или определить св-во name – имя переменной объектного типа, пр. ttTovar. Для настройки компонента используют св-во DataBaseName. Это св-во позволяет обратиться к псевдониму БД. Настроить св-во TableName, кот. связываются с конкретным набором данных или конкретной таблицей.
Св-во Active (true или false) позволяет определить открыт или закрыт набор данных.
Все св-ва, указанные для данных компонентов можно установить через инспектор объектов. Сначала должны открыть родит. таблицу, затем подчинен. при закрытии в обратном пор-ке.
Для управления потоками данных важно, чтобы каждый компонент TTable имел свой DataSource, но возможна ситуация, когда 1 компонент DataSource используется для неск. компонентов TTable. В этом случае необх. в коде программы переопределять св-во DataSet компонента DataSource для разных компонентов TTable.
Метод IndexName сипользуется для связи с конкретным набором. Запретить изменение таблицы можно св-во ReadOnly=True, но придется переоткрывать набор каждый раз, когда нужно изменить св-во ReadOnly. Поэтому для запрета измений проще св-во AutoEdit=false комп-та DataSource.
Для настройки необх. из вспомогат. (контекстного) меню комп-та TTable обратиться к команде Fields Edit, где из меню редактора выбрать ком-ду Add Fields в ответ будет предложен список всех полей выбранной таблицы. После выбора полей в окне Add Fields список полей переместиться в Fields Edit.
Заголовке столбцов задаются в title.
25. Приёмы работы с набором данных(НД). Состояния набора данных. Метод State.
Под набором данных понимается группа записей из одной или неск. таблиц баз данных. Каждая запись, которая создается мн-вом полей, а каждое поле можно сод-ть различные типы данных.
Компоненты TTable, TQuery, TStoredProc могут обеспечить доступ через эти компоненты на DataAccess. TStoredProc для удален. или респределен. БД. Все 3 компонента наследники от комп-та TDBDataSet, а TDBDataSet имеет родителя TDataSet. Компоненты класса TBDEDataSet обеспечивают использ-е ф-ции BDE при работе с набором данных и управление записями наборов, как частью БД.
Переход в любое состояние осущ-ся через метод Просмотр(Brouse).
Метод SetKey включает механизмы поиска по ключу причем установка ключа SetKey использ-ся только в комп-те tTable при необх-ти поиска методами FindKey, FindNext.
Состояние поиска сохр-ся до момента вызова одного из методов поиска по ключу или метода поиска по ключу или метода отмены диапазона SetRange. Состояние просмотра dsBlockRead использ-ся набором данных при реализации быстрого перемещения по большим массивам данных без показа промежуточных значений и без вызова обработчика событии перемещения по записям.
Состояние фильтрации записи может происходить в наборе данных при опред-и св-ва Filtere=True.
Состояние dsCalcFields вычисления полей. Данное состояние выполн-ся для установления знач-й вычисляемых полей по заданному алгоритму в обработчике событий OnCalcFields. В данном режиме все измен-я, связан. с редактированием, поиском по ключу производиться не могут.
Перевод InActive=> Brouse
1)используем св-во Active
Table.Active (Open)
Query.Active(Open)
2)метод Open
из состояния просмотра обратно Active-false.
Если какая-либо запись на момент закрытия набора данных(НД) находится в режиме редактир-я или вставки примен-е метода Close не приведет к автоматич. выдаче метода Post. Т.о. можно сделать вывод, что НД закрывается находясь в режимах вставки или редактир-я, а не просмотра и изменения не запомнятся. Для перевода НД из указан. режимов в режим Просмотра необх. использ-ть обработчик события BeforeClose.
dsBrouseß àdsEdit. Состояние перехода в режиме редактир-я из просмотра методам Edit.
Обратно с .Post( с сохр-ем) и .Cancel (отмена).
dsBrouseß àdsInsert. Перевести НД в реж. вставки с пом. метода Insert (вставка по курсору) и Append(в конец таблицы). После этого проге станов. доступна пустая запись. Чтобы поля нов. записи присвоить знач-е по умолчанию следует использ-ть обработчик события OnNewRecord. Из режима вставки в режим просмотра .Post и .Cancel.
dsBrouseß àdsSetKey. НД находится в состоянии поиска, если осущ-ся поиск записей удволетв. условию установлен. метода SetKey, а затем возможно иземенен. методу EditKey.
Поиск записи м. производ-ся след. методами: GoToKey, GoToNearest, FindKey, FindNearest. В случае успешн. или нет поиска переходим в реж. Просмотра.
dsBrouseß àdsFilter. НД в состоянии фильтрации находится всякий раз, когда приложение обрабатывается. OnFilterReord. При этом НД переводится из состояния просмотра в состояние dsFilter, причем св-во Filter дБ true. Это позволяет предотвратить модификацию НД во время фильтрации. После заверш-я вызова обработчика события OnFilterRecord НД переводиться в состояние просмотра.
Метод State.
позволяет получить текущее состояние НД.
if Table1.State=dsInActive then Table1.Active:=true; Нач. состояние опред-ся св-вом State/
Property State: TDataSetState
type TDataSetState=(dsInActive, dsBrouse, dsEdit, dsInsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsBlockRead, dsInternalCalc).