![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть ли в ADO аналог PackTable (из RXlib) [D5, dBase, FoxPro]
Dens © (2003-08-24 16:39:00)
Проблема такая. Есть у меня dbf-ки. Их нужно переодически паковать по причине того, что они довольно часто очищаются и снова заполняются данными.
Пока работаю с ними через BDE и для упаковки использую ф-цию PackTable из RX-Lib.
Но есть желание перелезть на ADO.
Так вот мой вопрос, уважаемые мастера, есть ли в ADO аналогичная ф-ция или хотябы любой другой способ?
Dens (2003-08-25 19:21:00) [1]
MsGuns © (24.08.03 18:48) [1]
Спасибо. После твоего ответа у меня родилась идея.
Совсем не обязательно писать фичи для создания БД - для моего случая это лишний головняк. У меня всего две таких таблицы.
Гораздо проще один раз создать пустые таблицы, засунуть их файл ресурса и подключить в exe-шнику. И в момент, когда нужно очищать таблицу, вместо очистки и упаковки вытаскивать ее пустую из ресурса.
sniknik (2003-08-24 22:21:00) [2]
Тих (24.08.03 21:57) [2]
> PACK
> так вот MS ODBC драйвер для Visual FoxPro этих команд не понимает.
> Дальше разбираться не стал, пришил BDE и плюнул.
ну и зря не стал разбиратся, для VFP driver эта команда есть и звучит как PACK TABLE xxxxx
да и для других SELECT * INTO .... в левый файл дальше переименовываеш и все.
Тих (2003-08-24 21:57:00) [3]
Через ADO, имхо, не выйдет. Была у меня подобная задачка.... Я полистал MSDN на предмет синтаксиса FoxPro, которого я не знаю :-) упаковать из фокса теоретически можно так:
SET EXCLUSIVE ON или USE [TABLE_NAME] EXCLUSIVE
PACK
так вот MS ODBC драйвер для Visual FoxPro этих команд не понимает.
Дальше разбираться не стал, пришил BDE и плюнул.
MsGuns (2003-08-24 18:48:00) [4]
Чтобы не зависить от библиотек, лучше всего самому предусмотреть фичу, создающую БД. Или в виде модуля осн.проги или отд.екзешник. Описание структур и связей (бизнес-логику) можно держать в обычнойкстовом файле. Или, если надо круто, вшить все в объекты и поместить, к примеру, в датамодуль