Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IZVP_lab-novi.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.14 Mб
Скачать

Завдання для самостійної роботи:

    1. Реалізувати пошук за назвою тварини методами SetKey- GotoKey.

    2. Реалізувати пошук у діапазоні за полем SIZE.

    3. Відключати активність кнопок переміщення наступний/попередній, якщо цей запис останній чи перший.

Короткі теоретичні відомості Компонент 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 встановлює закладку на поточному рядку таблиці. GotoBookmark здійснює переміщення в таблиці до рядка, раніше відзначеною закладкою. Метод FreeBookmark використовується для знищення об'єкту типу TBookmark:

TBookmark Marker =Table1->GetBookmark(); Table1->GotoBookmark(Marker); Table1->FreeBookmark(Marker);

Події компоненту TTable дозволяють будувати і контролювати поведінку програм БД. Наприклад, подія BeforePost наступає перед вставкою або зміною запису, подія AfterPost - після збереження вставленого або зміненого запису, подія AfterDelete - після видалення запису і т.д.

Приклад: Створимо обробник події OnCalcFields компоненту TTable:

Table1pop2->Value=Table1Population->Value/Table1Area->Value;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]