компонент TTable
Найбільш простим способом звернення до таблиць баз даних є використання компонента TTable, що надає доступ до однієї таблиці. Для цієї мети найбільш часто використовуються наступні властивості:
- Active - вказує, відкрита (true) чи ні (false) дана таблиця.
- DatabaseName - ім'я каталогу, що містить шукану таблицю, або псевдонім (alias) віддаленої БД (псевдоніми встановлюються за допомогою утиліти конфігурації BDE, опис якої присутній в багатьох джерелах, присвячених продуктам Borland, або за допомогою SQL Explorer, що викликається за допомогою пункту меню Database / Explore ). Ця властивість може бути змінено тільки в разі, якщо таблиця закрита (її властивість Active одно false), наприклад:
- TableName - ім'я таблиці.
- Exclusive - якщо це властивість приймає значення true, то ніякий інший користувач не може відкрити таблицю, якщо вона відкрита даними додатком. Якщо це властивість одно false (значення за замовчуванням), то інші користувачі можуть відкривати цю таблицю.
- IndexName - ідентифікує вторинний індекс для таблиці. Це властивість можна змінити, поки таблиця відкрита.
- MasterFields - визначає ім'я поля для створення зв'язку з іншою таблицею.
- MasterSource - ім'я компонента TDataSource, за допомогою якого TTable отримуватиме дані із зв'язаної таблиці.
- ReadOnly - якщо це властивість одно true, таблиця відкрита в режимі "тільки для читання". Не можна змінити властивість ReadOnly, поки таблиця відкрита.
- Eof, Bof - ці властивості приймають значення true, коли покажчик поточного запису розташований на останній або відповідно першого запису таблиці.
- Fields - масив об'єктів TField. Використовуючи цю властивість, можна звертатися до полів по номеру, що зручно, коли заздалегідь невідома структура таблиці:
Найбільш часто при роботі з компонентом TTable використовуються такі методи:
- Open і Close встановлюють значення властивості Active рівними True і False відповідно.
- Refresh дозволяє заново вважати набір даних з БД.
- First, Last, Next, Prior переміщують покажчик поточного запису на першу, останню, наступну і попередню записи відповідно, наприклад:
- MoveBy переміщує покажчик на вказане число рядків (воно може бути і негативним) в межах таблиці
- Insert, Edit, Delete, Append - переводять таблицю в режими вставки записи, редагування, видалення, додавання записи відповідно.
- Post - здійснює фізичне збереження змінених даних. наприклад:
- Cancel - скасовує внесені зміни, не збережені фізично.
- FieldByName - надає можливість звернення до даних в полях на ім'я поля:
- SetKey перемикає таблицю в режим пошуку.
- GotoKey починає пошук рядка, значення Fields [n] якої одно вибраному, де n - номер колонки таблиці, починаючи з 0:
- SetRangeStart, SetRangeEnd, ApplyRange дозволяють вибрати потрібні рядки на основі діапазону значень якого-небудь поля.
- FreeBookmark, GetBookmark, GotoBookmark- дозволяють створити позначену рядок в таблиці і потім повернутися до неї пізніше. Методи Bookmark використовують клас TBookmark. Метод GetBookmark встановлює закладку на поточній Рядок таблиці. GotoBookmark здійснює переміщення в таблиці до рядка, раніше зазначеної закладкою. Метод FreeBookmark використовується для знищення об'єкта типу TBookmark:
Події компонента TTable дозволяють будувати і контролювати поведінку додатку ий БД. Наприклад, подія BeforePost настає перед вставкою або зміною запису, подія AfterPost - після збереження вставленої або зміненої записи, подія AfterDelete - після видалення запису і т.д.
Щоб внести компонент TTable у форму, потрібно виконати наступне:
- Використовуючи сторінку Data Access палітри компонентів, розмістити компонент TTable на формі або в модулі даних.
- Властивості DatabaseName присвоїти ім'я каталогу, де знаходиться БД, або псевдо има БД.
- Властивості TableName присвоїти ім'я таблиці або вибрати таблицю зі списку.
- Внести до форми компонент DataSource і встановити значення властивості DataSet рівним імені компонента TTable.
- Внести компоненти Data Controls і пов'язати їх з компонентом DataSource для того, щоб відобразити на екрані дані з таблиці БД.