Тому, в даній статті я розповім, як можна підключитися до таблиць DBF трьома способами:
- За допомогою BDE - для таблиць FoxPro у мене такий варіант не пройшов
- За допомогою ADO - відмінно відкрилися таблиці FoxPro
- За допомогою компонента TDBF - добре відкриває таблиці Paradox з різними кодуваннями або ж dBase.
Якщо чесно, то я взагалі не можу терпіти BDE, але довелося попрацювати з такими таблицями і перший варіант, через який я хотів підключитися до них - це використання саме BDE, що, в принципі у мене це вийшло, тобто вийшло забрати список таблиць, чому я зрадів і подумав, що далі все піде, як годиться, але не тут-то було. При спробі підключення до якої-небудь таблиці, мені видавало помилку, щось на зразок:
LANGDRIVE not found
Я пробував його встановлювати і в саме BDE Administrator і при підключенні, але нічого не вийшло. Зате таким способам у мене відмінно підключався до таблиць DBF - Paradox, наприклад dBase.
Тому, встановлюємо на форму наступні компоненти зі вкладки BDE:
- TDataBase
- TTable або TQuery
- За бажанням можна TDataSourceі TDbGrid
Далі в властивості DatabaseName компонента TDataBase задаємо ім'я БД, я написав - MyDB, а у властивості DriverName того ж компонента я вибрав зі списку STANDART. Властивість LoginPromt встановлюємо в False, так як логіна і пароля на наших таблицях ніякого не варто. У властивості Params задаємо параметри підключення, я вказав тільки шлях до наших таблиць:
Можна також подвійним клацанням натиснути по компоненту TDataBase і налаштувати необхідне підключення і встановлюємо властивість Connected в True, в результаті має відбутися підключення до таблиць, без всяких помилок. Тут все, переходимо до компоненту TTable, де в властивості DatabaseName вказуємо ім'я нашої БД, тобто MyDB. У властивості TableType вибираємо тип таблиць, я вказав - ttDBase, а у властивості TableName вибираємо ім'я таблиці, після чого встановлюємо властивість Active в True. Все, підключає у мене відмінно, таблицю відображає також відмінно.
Але такий варіант у мене не пройшов з таблицями FoxPro, про що я говорив вище. Тому, щоб вирішити свою проблему, я вирішив використовувати технологію ADO. Тому з вкладки ADO я встановив наступні компоненти:
- TADOConnection
- TADOQuery або TADOTable
- За бажанням можна встановити TDataSource і TDBGrid
Далі нам необхідно просто створити підключення, яке ми робили для бази MS Access, воно буде відрізнятися тим, що ми вибираємо іншого постачальника даних, а саме Microsoft Visual FoxPro ODBC. Все, далі вказуємо кодування і шлях до таблиць. Якщо це таблиці FoxPro, то в папки повинен бути присутнім файл зі списком всіх таблиць, розширення * .dbc. Тобто, рядок підключення компонента TADOCOnnection буде виглядати, приблизно наступним чином:
Пов'язуємо компонент TADOConnection з TADOTable або TADOQuery і працює з потрібними нам таблицями.
Ще один варіант - це робота з таблицями dbf-формату, за допомогою компонента TDBF, який, я використовую в проекті MapWindow GIS. Якщо чесно, я хочу від нього відмовитися, просто він добре працює з кодуваннями. Розповідати, як з ним працювати, я не буду, а просто залишу посилання для прикладу. Приклад роботи компонента TDBF.
Як бачите, працювати з DBF-таблицями дуже легко, головне вибрати потрібний варіант (підхід) до них і все у Вас буде чудово. Напевно, я виклав найпростіші варіанти роботи з ними, Вам залишається вибрати лише відповідний для Вас.