|
Компонент TTable.
Компонент
TTable
Наиболее простым способом
обращения к таблицам баз данных
является использование компонента
TTable, предоставляющего доступ к
одной таблице. Для этой цели
наиболее часто используются
следующие свойства:
Active - указывает, открыта (true) или
нет (false) данная таблица.
DatabaseName - имя каталога,
содержащего искомую таблицу,
либо псевдоним (alias) удаленной
БД (псевдонимы устанавливаются
с помощью утилиты конфигурации
BDE, описание которой
присутствует во многих
источниках, посвященных
продуктам Borland, либо с помощью
SQL Explorer, вызываемого с помощью
пункта меню Database/Explore). Это
свойство может быть изменено
только в случае, если таблица
закрыта (ее свойство Active равно
false), например:
Table1->Active = false;
Table1->DatabaseName = "BCDEMOS"
Table1->Active = true;
TableName - имя таблицы.
Exclusive - если это свойство
принимает значение true, то
никакой другой пользователь не
может открыть таблицу, если она
открыта данным приложением.
Если это свойство равно false
(значение по умолчанию), то
другие пользователи могут
открывать эту таблицу.
IndexName - идентифицирует
вторичный индекс для таблицы.
Это свойство нельзя изменить,
пока таблица открыта.
MasterFields - определяет имя поля
для создания связи с другой
таблицей.
MasterSource - имя компонента TDataSource,
с помощью которого TTable будет
получать данные из связанной
таблицы.
ReadOnly - если это свойство равно
true, таблица открыта в режиме
"только для чтения".
Нельзя изменить свойство ReadOnly,
пока таблица открыта.
Eof, Bof - эти свойства принимают
значение true, когда указатель
текущей записи расположен на
последней или соответственно
первой записи таблицы.
Fields - массив объектов TField.
Используя это свойство, можно
обращаться к полям по номеру,
что удобно, когда заранее
неизвестна структура таблицы:
Edit1->Text=Table1->Fields[2]->AsString;
Наиболее часто при работе с
компонентом TTable используются
следующие методы:
Open и Close устанавливают значения
свойства Active равными True и False
соответственно.
Refresh позволяет заново считать
набор данных из БД.
First, Last, Next, Prior перемещают
указатель текущей записи на
первую, последнюю, следующую и
предыдущую записи
соответственно, например:
Table1->First();
while (!Table1->Eof)
{
//что-то делаем...
Table1->Next();
};
MoveBy перемещает указатель на
указанное число строк (оно
может быть и отрицательным) в
пределах таблицы
Insert, Edit, Delete, Append - переводят
таблицу в режимы вставки
записи, редактирования,
удаления, добавления записи
соответственно.
Post - осуществляет физическое
сохранение измененных данных.
Например:
Table2->Insert();
Table2->Fields[0]->AsInteger = 100;
Table2->Fields[1]->AsString =Edit1->Text;
Table2->Post();
Cancel - отменяет внесенные
изменения, не сохраненные
физически.
FieldByName - предоставляет
возможность обращения к данным
в полях по имени поля:
S=Table1->FieldByName("area")->AsString;
SetKey переключает таблицу в
режим поиска.
GotoKey начинает поиск строки,
значение Fields[n] которой равно
выбранному, где n - номер
колонки таблицы, начиная с 0:
Table1->SetKey();
Table1->Fields[0]->AsString=Edit1->Text;
Table1->GotoKey();
SetRangeStart, SetRangeEnd, ApplyRange позволяют
выбрать нужные строки на
основе диапазона значений
какого-либо поля.
Table1->SetRangeStart();
Table1->Fields[0]->AsString = Edit1->Text;
Table1->SetRangeEnd();
Table1->Fields[0]->AsString = Edit2->Text;
Table1->ApplyRange();
FreeBookmark, GetBookmark, GotoBookmark-
позволяют создать помеченную
строку в таблице и затем
вернуться к ней позже. Методы
Bookmark используют класс TBookmark.
Метод GetBookmark устанавливает
закладку на текущей cтроке
таблицы. GotoBookmark осуществляет
перемещение в таблице к строке,
ранее отмеченной закладкой.
Метод FreeBookmark используется для
уничтожения объекта типа TBookmark:
TBookmark Marker =Table1->GetBookmark();
Table1->GotoBookmark(Marker);
Table1->FreeBookmark(Marker);
Cобытия компонента TTable позволяют
строить и контролировать поведение
приложе ий БД. Например, событие
BeforePost наступает перед вставкой или
изменением записи, событие AfterPost -
после сохранения вставленной или
измененной записи, событие AfterDelete -
после удаления записи и т.д.
Чтобы внести компонент TTable в
форму, нужно выполнить следующее:
Используя страницу Data Access
палитры компонентов,
разместить компонент TTable на
форме или в модуле данных.
Свойству DatabaseName присвоить имя
каталога, где находится БД,
либо псевдо има БД.
Свойству TableName присвоить имя
таблицы или выбрать таблицу из
выпадающего списка.
Внести в форму компонент DataSource
и установить значение свойства
DataSet равным имени компонента
TTable.
Внести компоненты Data Controls и
связать их с компонентом DataSource
для того, чтобы отобразить на
экране данные из таблицы БД.
|
|