![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Converter DBF to MDB [D7, XP]
Cannon © (2010-06-23 09:51:00)Появилась необходимость написать утилиту в Delphi которая будет конвертировать DBF файлы в MDB (Eccess). Подскажите, что лучше для этой цели использовать, какие компоненты для доступа к DBF и MDB ? Спасибо.
Правильный$Вася (2010-06-23 10:59:00) [1]DataPump уже отменили?
Cannon (2010-06-23 10:37:00) [2]не надо программиста) все понял, спасибо.
ЗЫ: Ветка для начинающих
Плохиш (2010-06-23 10:34:00) [3]Советую нанять программиста.
Cannon (2010-06-23 10:33:00) [4]
> Совершенно не интересная ветка.
Ну извините, забыл вырезать.
> Используй TADOQuery с SQL-предложением INSERT INTO AccessTable
> SELECT * FROM DBFTable
>
А коннект к какой из баз нужно установить ?
Плохиш (2010-06-23 10:29:00) [5]
> ProgressBar1.Position := i;
> Label1.Caption := IntToStr(i);
> Refresh;
> inc(i);
>
Совершенно не интересная ветка.
Сергей М. (2010-06-23 10:24:00) [6]
> открыть обе таблицы DBF и Access
Не надо их открывать.
Используй TADOQuery с SQL-предложением INSERT INTO AccessTable SELECT * FROM DBFTable
Anatoly Podgoretsky (2010-06-23 10:24:00) [7]> Cannon (23.06.2010 10:00:02) [2]
Вот это и надо делать, но мы не ищем легких путей.
Cannon (2010-06-23 10:16:00) [8]Сейчас делаю так:
While not DBFTable.Eof do
begin
AccessTable.Insert;
for f:= 0 to DBFTable.FieldCount - 1 do
begin
AccessTable.FieldByName(DBFTable.Fields[f].FieldName).Value := DBFTable.FieldByName(DBFTable.Fields[f].FieldName).Value;
end;
DBFTable.Next;
ProgressBar1.Position := i;
Label1.Caption := IntToStr(i);
Refresh;
inc(i);
end;
А как использовать SQL, т.е открыть обе таблицы DBF и Access с помощью ADO затем использовать скрипт Insert into в ADOQuery ?
Сергей М. (2010-06-23 10:10:00) [9]Ну и см.[3] - SQL-запросы на то существуют)
Сергей М. (2010-06-23 10:09:00) [10]> если открыть тот же DBF в MS Access и экспортнуть, все это происходит в считанные секунды
Access использует Jet напрямую либо через DAO (не путать с ADO).
А что тыиспользуешь - это известно только тебе)
Dennis I. Komarov (2010-06-23 10:07:00) [11]
> Пробежался по DBF (While not Table.EOF) и...
Страсти то какие. Еще варианты будут?
Cannon (2010-06-23 10:00:00) [12]Создал таблицу в Access одинаковую по структуре с DBF файлов. Пробежался по DBF (While not Table.EOF) и начал сажать в таблицу Access, все записи, процесс происходит очень долго, в DBF в среднем по 500 тыс. записей. (Использовал ADO) А если открыть тот же DBF в MS Access и экспортнуть, все это происходит в считанные секунды.
Сергей М. (2010-06-23 09:52:00) [13]ADO